一般是作为主键的属性来建立索引先说说一个误区:有人认为:只要建立索引就能显著提高查询速度。这个想法是很错误的。建立非聚集索引,确实,一般情况下可以提高速度,但是一般并不会达到你想要的速度。只有在适当的列建立适当的(聚集)索引,才能达到满意的效果。下面的表总结了何时使用聚集索引或非聚集索引(很重要)。 动作描述 使用聚集索引 使用非聚集索引 列经常被分组排序 应 应 返回某范围内的数据 应 不应 一个或极少不同值 不应 不应 小数目的不同值 应 不应 大数目的不同值 不应 应 频繁更新的列 不应 应 外键列 应 应 主键列 应 应 频繁修改索引列 不应 应 别的就要看你的理解了。
主键是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录且不能为空;
索引是对数据库表中一列或多列的值进行排序的一种结构,只有当经常查询索引列中的数据时,才需要在表上创建索引,使用索引可快速访问数据库表中的特定信息。
索引占用磁盘空间,并且降低添加、删除和更新行的速度。当然索引也有好处就是查询速度快,它利还是大于弊的所以请慎重使用索引。
比如:一个学生表(t_stu
)有1000条数据,给它id列建个主键和索引,
你想查询id=1000;的这条信息,如果没有索引,它就一条一条的比对查找,系统运行1000次才找到,要是创建了索引,你查询id=1000的这条信息,系统只运行一次就找到了。
聚集索引只能建立一个,因为表建立聚集索引之后数据表的数据是根据聚集索引列的顺序排列的,因为任一序列在物理上存储只能有一个顺序,所以聚集索引只能有一个。
非聚集索引可以有多个,根据不同数据库存储表结果的不同,数量也有所不同,以SQL
SERVER
为例,非聚集索引的数量最多为254个。之所以非聚集索引可以有多个是因为非聚集索引的排序只是索引字段指针的排序,并不影响数据的物理存储顺序,所以可以有多个非聚集索引。但是非聚集索引多了也会影响系统性能及查询速度,所以并不是越多越好的。
以上就是关于数据库表建立索引的问题全部的内容,包括:数据库表建立索引的问题、数据库的索引是如何实现的,主键索引和联合索引数据结构有什么区别、数据库中的每一张表能建立几个主索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)