我已经启用了sql分析器并确定了几个需要很长时间执行的查询。列索引和sql分析器
例如:
Select A from table_A where B = 2
我的问题是,基于上面的查询,我创建列A或B索引?或A和B?
我已经启用了sql分析器并确定了几个需要很长时间执行的查询。列索引和sql分析器
例如:
Select A from table_A where B = 2
我的问题是,基于上面的查询,我创建列A或B索引?或A和B?
B
的索引,包括列A
。在B
的哪里可以使用搜索,同时还返回A
。
您的索引应该在B上,因为这是您的状况。您可以尝试所有方法并查看产生的结果execution plans。
我会创建一个列B上的索引,因为这是什么SQL服务器正在做的比较。之后,我会再次运行分析器以查看添加索引是否会对其他查询产生负面影响。
在B和A上创建单独的索引。在A上创建索引是为了避免KEY LOOKUP。