これがシナリオです。古いデータベースにはこの種の設計があります
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秒ですが、2番目のクエリの行数は同じですが@30秒です
だから皆さんにとって、私は何かが足りないのですか、それとも複数のテーブルが単一のテーブルよりも優れていますか?