Table index design

Posted by Swoosh on Stack Overflow See other posts from Stack Overflow or by Swoosh
Published on 2010-12-22T15:44:40Z Indexed on 2010/12/22 15:54 UTC
Read the original article Hit count: 228

I would like to add index(s) to my table. I am looking for general ideas how to add more indexes to a table. Other than the PK clustered. I would like to know what to look for when I am doing this. So, my example:

This table (let's call it TASK table) is going to be the biggest table of the whole application. Expecting millions records.

IMPORTANT: massive bulk-insert is adding data in this table

table has 27 columns: (so far, and counting :D )

int x 9 columns = id-s

varchar x 10 columns

bit x 2 columns

datetime x 5 columns

INT COLUMNS

all of these are INT ID-s but from tables that are usually smaller than Task table (10-50 records max), example: Status table (with values like "open", "closed") or Priority table (with values like "important", "not so important", "normal") there is also a column like "parent-ID" (self - ID)

join: all the "small" tables have PK, the usual way ... clustered

STRING COLUMNS

there is a (Company) column (string!) that is something like "5 characters long all the time" and every user will be restricted using this one. If in Task there are 15 different "Companies" the logged in user would only see one. So there's always a filter on this one. Might be a good idea to add an index to this column?

DATE COLUMNS

I think they don't index these ... right? Or can / should be?

© Stack Overflow or respective owner

Related posts about sql

Related posts about sql-server-2005