這裏的情景多個表,舊的數據庫具有這種設計單表,相較於數百萬條記錄
dbo.Table1998
dbo.Table1999
dbo.Table2000
dbo.table2001
...
dbo.table2011
的,我合併所有的數據1998年至2011年在此表中dbo.TableAllYears
現在他們都通過「申請號」現在索引,具有列數相同(實際上是56列。)
當我試圖
select * from Table1998
和
select * from TableAllYears where Year=1998
第一查詢有139669行@13秒 而第二個查詢具有相同的行數,但@30秒
所以對於你們,我是,我只是失去了一些東西或者多個表比單個表好?
如果你能告訴我們你正在使用哪個數據庫服務器?和版本可以讓你很好的答案。首先,您可以查看按年份或月份對錶進行分區,並可能在要運行的查詢類型上添加非聚集索引。對於SQL Server [從這裏開始](http://msdn.microsoft.com/en-us/library/ms345146(SQL.90).aspx) – 2011-04-15 03:47:49
MS SQL Server 2008 r2 – Leary 2011-04-15 04:19:58
@ Sanjeevakumar - 對於遲到的回覆抱歉,我沒有注意到你的評論... – Leary 2011-04-15 04:20:44