You can improve SQL server performance if you avoid creating tables in a monolithic fashion. By monolithic I mean tables that have dozens and dozens of fields that are not often used together. Some shops lump all data associated with a key field (or fields) into one table. A better structure is to make multiple tables, each containing only the relevant data that is used together, with each table having the same key field. For example, instead of using one “Big Table,” use three smaller ones:
BIG_TABLE --becomes-- PART_TABLE MTD_TABLE YTD_TABLEpart_num (key) part_num (key) part_num (key) part_num (key) ------- ------- ------- -------part_desc part_desc mtd_ship ytd_shippart_wt part_wt mtd_sales ytd_salespart_uom part_uom mtd_return ytd_return...mtd_shipmtd_salesmtd_return...ytd_shipytd_salesytd_return