2009-08-20 7 views
1

私は約700万行のデータを持つテーブルを持っています。私は、検索を高速化するために名前の列にインデックスを設定したいvarcharフィールドにインデックスを設定すると、どのような影響がありますか?

ID - int (Primary Key) 
Name - Varchar(250) Null 
... 

: スキーマのようなものです。例:

Select * from table where name = 'ABC' 

varcharフィールドにインデックスを設定すると、どのような影響がありますか?インデックスサイズ?速度の利点は短所を上回っていますか?

答えて

1

このフィールドで頻繁に検索する必要がある場合は、疑問はありません。索引が必要です。挿入が少し遅くなり、ハードドライブ内のいくつかのMBが失われますが、このフィールドの値を検索するときに参照する時間に比べて何もありません。

+0

サイド・クエリー:このような検索の恩恵を受けるでしょうか?例: '%abc%'のような名前がテーブルから選択されました –

+0

"abc%"検索は確かに有益です。 「%abc%」に関しては、効果は最小限である。アプリケーションの一般的なシナリオで、表が大きい場合やフィールドが大きい場合は、単純な索引付けの代わりに「全文検索」を使用します。 –

関連する問題