Just a simple question, but does the order of your index matter when it spans over multiple columns?
For example, taking the query:
SELECT * FROM my_table WHERE (column_1 = 1 AND column_2 = 2)
If I want to add an index for a query like this, does it matter if my index is created like this:
CREATE INDEX my_index ON my_table (column_1, column_2)
Or like this:
CREATE INDEX my_index ON my_table (column_2, column_1)
Thanks for the help!
In the example you give, the column order does not matter.
It would matter if you order on a column; an index on (col1,col2) can be used for ORDER BY col1, col2 but not for ORDER BY col2, col1.
For WHERE clauses, an index on (col1, col2) works for WHERE col1 = 1 AND col2 = 1. It also works for WHERE col1 = 1. But it can't help with WHERE col2 = 1.
This shoudl give you a good idea
SQL Server Clustered Index - Order of Index Question
There are many more like this on SO.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With