How to improve my query performance by indexing <p>i just want to know how will i index the this table for optimal performance? This will potentially hold around 20M rows.</p> <pre><code> CREATE TABLE [dbo].[Table1]( [ID] [bigint] NOT NULL, [Col1] [varchar](100) NULL, [Col2] [varchar](100) NULL, [Description] [varchar](100) NULL ) ON [PRIMARY] </code></pre> <p>Basically, this table will be queried ONLY in this manner. </p> <pre><code> SELECT ID FROM Table1 WHERE Col1 = 'exactVal1' AND Col2 = 'exactVal2' AND [Description] = 'exactDesc' </code></pre> <p>This is what i did:</p> <pre><code> CREATE NONCLUSTERED INDEX IX_ID ON Table1(ID) GO CREATE NONCLUSTERED INDEX IX_Col1 ON Table1(Col1) GO CREATE NONCLUSTERED INDEX IX_Col2 ON Table1(Col2) GO CREATE NONCLUSTERED INDEX IX_ValueDescription ON Table1(ValueDescription) GO </code></pre> <p>Am i right to index all these columns? Not really that confident yet. Just new to SQL stuff, please let me know if im on the right track. </p> <p>Again, a lot of data will be put on this table. Unfortunately, i cannot test the performance yet since there are no available data. But I will soon be generating some dummy data to test the performance. But it would be great if there is already another option(suggestion) available that i can compare the results with.</p> <p>Thanks, jack</p>