문제

I have enabled sql profiler and identified several queries that are taking a long time to execute.

For example:

Select A from table_A where B = 2

My question is, based on above query, do I create indexes on column A or B? or A and B?

도움이 되었습니까?

해결책

Index on B including column A. The where can use a seek on B while still returning A.

다른 팁

Your index should be on B since that's what is in your condition. You might benefit from just trying out all the ways and looking at the resulting execution plans.

I would create an index on column B because that is what sql server is doing the comparison on. Afterwards I would run the profiler again to see if adding the index negatively impacts other queries.

Create seperate indexes on B and A. Creating index on A is to avoid KEY LOOKUP.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top