我使用优化顾问工具分析后,优化顾问给出建议,要在一个表上创建多个索引。
如:积分账户表
ID 主账户号 积分类型 积分
1 1001 消费积分 100000
2 1001 赠送积分 100
3 1002 消费积分 120000
4 1002 赠送积分 120
在使用中,会查询一个主账户号的总积分、某类型的积分
优化顾问给出建议分别创建如下索引:
CREATE STATISTICS [_dta_stat_658101385_3_1] ON [dbo].[积分账户表]([主账户号], [ID])
CREATE STATISTICS [_dta_stat_658101385_3_2_1] ON [dbo].[积分账户表]([主账户号], [积分类型], [ID])
是否有必要创建两个索引?
为什么创建索引需要与ID组合,ID是自增长主健,查询中很少会使用这个ID进行条件指定?
------解决方案--------------------
2005以上可以用CTE来循环,没必要高游标
------解决方案--------------------
最好少用游标,除非是逻辑特别复杂的。
游标的这种处理方式,是循环,比较慢