我启用了sql profiler,并确定了几个需要很长时间才能执行的查询。
例如:
Select A from table_A where B = 2
我的问题是,基于上述查询,我是否在A列或B列上创建索引?还是A和B?
答案 0 :(得分:1)
你的索引应该在B上,因为那是你的情况。您可以通过尝试所有方法并查看生成的execution plans来获益。
答案 1 :(得分:0)
我会在B列上创建一个索引,因为这是sql server正在进行比较的内容。之后我会再次运行探查器,看看添加索引是否会对其他查询产生负面影响。
答案 2 :(得分:0)
B
上的索引,包括A
列。哪里可以在B
上使用搜索,同时仍然返回A
。
答案 3 :(得分:0)
在B和A上创建单独的索引。在A上创建索引是为了避免使用KEY LOOKUP。