sql索引建立原则(sql能否在非主属性列上建立索引)

本文目录
sql能否在非主属性列上建立索引
什么情况下设置索引
动作描述 使用聚集索引 使用非聚集索引
外键列 应 应
主键列 应 应
列经常被分组排序(order by) 应 应
返回某范围内的数据 应 不应
小数目的不同值 应 不应
大数目的不同值 不应 应
频繁更新的列 不应 应
频繁修改索引列 不应 应
一个或极少不同值 不应 不应
建立索引的原则:
1) 定义主键的数据列一定要建立索引。
2) 定义有外键的数据列一定要建立索引。
3) 对于经常查询的数据列最好建立索引。
4) 对于需要在指定范围内的快速或频繁查询的数据列;
5) 经常用在WHERE子句中的数据列。
6) 经常出现在关键字order by、group by、distinct后面的字段,建立索引。如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用。
7) 对于那些查询中很少涉及的列,重复值比较多的列不要建立索引。
8) 对于定义为text、image和bit的数据类型的列不要建立索引。
9) 对于经常存取的列避免建立索引
9) 限制表上的索引数目。对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个。索引虽说提高了访问速度,但太多索引会影响数据的更新操作。
10) 对复合索引,按照字段在查询条件中出现的频度建立索引。在复合索引中,记录首先按照第一个字段排序。对于在第一个字
段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高
的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。
SQL Server 2000中,建立索引的一般原则
建普通索引
create index 索引名称 on 表名(字段)
建聚集索引
create clustered index 索引名称 on 表名(字段)
建非聚集索引
create NONCLUSTERED index 索引名称 on 表名(字段)
删除索引
drop index 表名.索引名称
或者另一种方法:设计表 -》右健点击字段名 -》索引/键
SQL索引问题,二个表关链,外键的ID是否需要在创建索引
索引和外键没有关系
创建索引的原则是,只要你经常做where\group by\join on的字段,为提高查询速度应该加索引
加了索引后会影响你插入\更新\删除记录的速度,且会占用一些磁盘空间,但是会提高查询速度,你需要在综合上述情况后考虑决定是否建立索引
从你的需求来看,可以考虑

更多文章:
arcgis怎么设置文本框样式?用JS怎么实现一个把一个文本框中的选中内容加粗,效果基本上和编辑器的加粗效果相同急需
2026年11月6日 10:50
bios setup(“Bios setup”怎么在电脑里面设置)
2026年11月6日 10:00
php递归删除目录(php怎么删除文件夹和文件夹下的所有文件)
2026年11月6日 03:30
vimoapp安卓手机版(制作VLog常用的APP有哪些呢)
2026年11月6日 01:50
拜登国防授权法案(少数国家对来自中国的旅客采取入境限制措施,中方:将采取对等措施)
2026年11月6日 00:40





