更新されず、めったに挿入されないテーブルがあります。日付列と nvachar(32) をすばやくクエリできるように、このテーブルを最適化する必要があります。
テーブルにインデックスを追加していますが、日付列を年、月、日の個別の列などの個別の列に分割するか、日付列をそのままにしておくのがパフォーマンスに最適かどうかはわかりません。
クエリは、基本的に nvarchar 列と year 列に対して行われるか、年、月、日が含まれる場合があります。
私が実際にやろうとしているのは、姓の列と日付の列に対して SOUNDEX 句を実行することです
例:
SELECT DISTINCT [Surname]
FROM [dbo].[sometable]
WHERE YEAR(Datecolumn) = 2011 AND SOUNDEX(Surname) = SOUNDEX('smith')
パフォーマンスには何が最適でしょうか?