SQL 在表中建立索引的作用

在数据库的表中建立索引,索引的作用是什么?

索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快,
比如
create index abc on stu(age);
为stu表的age字段建立了索引,那么查询时,select * from stu where age > 10;
这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件,age又加了索引所以高。

索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需数据,也就是当进行查询时,系统先搜索索引,从中找到数据的指针,再直接通过指针,直接定位到数据上,所以快。

缺点:
还有就是需要注意的,索引是查的效率高了,但是在表中插入或更新数据时,将有额外的操作来维护索引,所以其他的效率低了,还有占用存储空间,还有不要建立过多的索引,过多索引引起反作用!

你还有啥不明白的?
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-03
对于SQL Server数据库来说,只有建立了合理的数据库索引才能在一定程度上提高SQL Server数据库性能。
 一、聚簇索引(clustered indexes)的使用

  聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。
建立聚簇索引的思想是:
  1、大多数表都应该有聚簇索引或使用分区来降低对表尾页的竞争,在一个高事务的环境中,对最后一页的封锁严重影响系统的吞吐量。
  2、在聚簇索引下,数据在物理上按顺序排在数据页上,重复值也排在一起,因而在那些包含范围检查
  、>=)或使用group by或order by的查询时,一旦找到具有范围中第一个键值的行,具有后续索引值的行保证物理上毗连在一起而不必进一步搜索,避免了大范围扫描,可以大大提高查询速度。

  3、在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。
  4、在聚簇索引中不要包含经常修改的列,因为码值修改后,数据行必须移动到新的位置。
  5、选择聚簇索引应基于where子句和连接操作的类型。
  聚簇索引的侯选列是:
  1、主键列,该列在where子句中使用并且插入是随机的。

  2、按范围存取的列,如

  100 and pri_order < 200。

  3、在group by或order by中使用的列。

  4、不经常修改的列。

  5、在连接操作中使用的列。
第2个回答  2013-04-17
当where 条件中的字段上有索引的时候可以加快查询速度。
如果没索引就要把整张表的数据全部扫描一次才能定位到数据。本回答被网友采纳
第3个回答  2013-04-17
楼上说的很清楚。我再举个例子。
比如,表,usersinfo,有一列是 姓名 列。
建立索引前,如果要搜索,姓名 叫张三的人, 则需要对整个表进行扫描。
对 姓名列建立索引后,再搜索,则只需要扫描索引 --就像一本书的目录。
第4个回答  2013-04-17
索引的作用是加快查找

索引是B树,可以快速定位到需要的数据上。
索引也是需要系统维护,所以会增加系统的负担。

SQL 在表中建立索引的作用
索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快,比如 create index abc on stu(age);为stu表的age字段建立了索引,那么查询时,select from stu where age > 10;这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件...

为数据表创建索引的目的是
2、这是因为,创建索引可以大大提高系统的性能。最主要的原因是可以大大加快数据的检索速度;而创建的唯一性索引,可以保证数据库表中每一行数据的唯一性。3、建立索引的目的是加快对表中记录的查找或排序。建索引可以大大提高系统的性能。4、SQL创建索引的目的如下:通过唯一性索引(unique)可确保数据的...

数据库索引在sql数据库中有什么作用?
数据库索引在SQL数据库中主要用于提升查询效率,实现快速检索。在进行表数据查询时,有两种常见方法:全表搜索和建立索引。全表搜索会将表中所有记录取出与查询条件匹配,返回满足条件的记录。此方法造成大量磁盘I\/O操作和较长耗时。建立索引则是通过在主要字段(通常是主键和外键)创建索引页,快速查找符合...

建立索引的目的是
3、加快表之间的连接。4、减少分组和排序时间。5、使用优化隐藏器提高系统性能。在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,...

数据库索引的作用
这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序 子句进行数据检索时,同样可以显著...

我在sql server 2005 里有一个书目表 ,我想加快搜索速度,所以我想:在...
不用,你正常语句检索就可以,索引就是给表加了一个排序,计算机检索数据的时候按照排序来判断,到达第一个不满足条件的行后,下面的就可以不去判断,从而加快检索效率。如果不加索引,计算机就会对所有的数据进行条件判断。

数据库建立索引的目的
在计算机领域中,建立索引是一种常见的数据结构和算法,用于加快对数据的搜索和访问速度。索引可以将数据进行分类和排序,使得查询和检索变得更加高效和快速。创建索引的目的是通过索引尽可能找到匹配 where 条件的行,减少不必要的回表,提高查询效率;需要辩证地看待区分度比较低的字段在组合索引中的作用。数...

索引是什么
索引的作用 在数据库系统中建立索引主要有以下作用:(1)快速取数据;(2)保证数据记录的唯一性;(3)实现表与表之间的参照完整性;(4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一...

在sql中如何创建索引
CREATE UNIQUE INDEX 索引名 ON 表(列)例子:CREATE UNIQUE INDEX S#_INSEX ON S(S#)不要UNIQUE也可以,你那就是索引没有起到主键的作用了 UNIQUE表示每个索引值对应唯一的数据记录 2.删除索引 例子:DROP INDEX S#_INSEX ON S 注意:索引不能更改,只能删除后重新建立 希望对你有帮助 ...

唯一索引建立唯一索引的方法及举例
要对一个表建立唯一索引,可以使用关键字UNIQUE。这意味着无论在聚簇索引还是非聚簇索引上,UNIQUE关键字都能发挥作用,确保数据的唯一性。例如,在表mytable上对字段mycolumn建立一个名为myclumn_cindex的聚簇索引,我们可以执行以下SQL语句:CREATE UNIQUE CLUSTERED INDEX myclumn_cindex ON mytable(...

相似回答