- - PR -
列の位置について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-06-30 09:37
ある1テーブルに対する検索が遅くて悩んでいます。
その1テーブルは ・列数133です。 ・PKは列1と列2でPKとなります。 ・レコード数は300万件 ・PK以外のIndexは作成なし 遅いのが、11番目の列を検索条件としているSQLです。 11番目の列のみ完全一致で検索をしています。 処理の都合上、PKでの検索はできません。 また、11番目の列にインデックスをはればいいというのもあるのですが、 そのテーブルは、 頻繁にInsertされるのと、Insertされるレコードの11番目の列の値は、 番号順にInsertされるわけでもなく、設定される値はばらばらです。 また、その設定される値は300万件中250万種類ほどあります。 つまり一部は重複した値です。 ほかに上記と似た構成のテーブルがあるのですが、 検索対象としている列は3番目にあります。 そちらのテーブルに対する検索速度は、同じレコード数でも検索速度は速いです。 質問させていただきたいのは、 テーブルにIndexを設定していない場合、 検索対象となる列が、テーブルの前の方の列にあると、 速度は速くなるものなのでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2008-06-30 10:33
索引つけるほうが早いかと。 insertされる値がばらばらであるという点についてはBtree索引ならむしろ好都合だし。 列の順とパフォーマンスは、データの取得をcsvから自力で取ってきてるのでもない限り関係しないでしょう。 | ||||
|
投稿日時: 2008-06-30 11:32
そんなことはありえない その前にデータベース系の質問は使用しているデータベース名 バージョン名を明記するように | ||||
|
投稿日時: 2008-06-30 14:04
ほったて さん、
七味唐辛子 さん、 回答ありがとうございます。 情報をきちんと書いていなくて申し訳ありませんでした。 一応、SQLServer2005でした。 参考になりました。ありがとうございます。 |
1