在表上建索引,在列里选多列和每个列建个索引有什么区别呢?
RT
比如Test表有Col001,Col002
1、建一个索引IX_test_1,同时选择col001,col002列
2、建二个索引,每个列对应一个
这种有什么区别呢?
------解决方案--------------------要看你的查询语句经常是怎么用的了,弄懂索引的实质就应该清楚区别了,不同的语句,两种索引各有优略。通常你where语句后面的某些字段,或join后面的某些字段如果经常合在一起用,建第一种,如建一个索引IX_test_1,同时选择col001,col002列,会好点。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------区别在于:
1. 如果索引是在两个列上: col001 and col002 (注意: 有先后次序的), 那么:
当你的WHERE clause只有col002时, SQL Server在优化检索时, 就会忽略这个索引, 转而去找其他索引.
2. 当你在两个上分别建索引时, 那么:
当你的WHERE clause有col001和col002时, SQL Server会用并行处理(parallel)的方式来优化检索.
------解决方案--------------------原侧就是在经常作为查询使用的列上建索引