それぞれが複数のアドレスを持つ最大 500 万の連絡先を格納するデータベースがあります。
DB は正規化され、連絡先への FK を持つ個別の Addresses-Table が適切にインデックス化されます。~10m の住所。
Address は再び Provinces & Countrys テーブルを参照しています。
これは、一度に 1 つの Contact が表示されるプラットフォームであり、Address プロパティで検索する必要がないため (さらに、Lucene.Net を使用する場合) .... Address 情報を XML フィールドに入れるだけでよいでしょうか?連絡先?
<Addresses>
<Address Street="" City="" ... />
<Address Street="" City="" ... />
</Addresses>
実際には非正規化ではありませんが、それでも 3 つの結合 (住所/国/州) を取り除きます
または別の言い方をすれば.... 5mio のレコードと 10mio のレコードを結合すると、データベースに負担がかかりますか? (たとえば、最大 50 のリクエストが DB に同時にヒットするとしますか?)
そのようなことをするのは時期尚早の最適化でしょうか? (Address プロパティをクエリすることは絶対にないと確信している場合のイベント...)
SQL Server 2012 を使用しています