- - PR -
SQLServerパーティションテーブルについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-08-20 14:49
SQLServerのパーティションテーブルについての質問なんですが。
SELECT文で主キーを指定した場合の話ですが パーティション関数項目も指定した方が高速にアクセスできるの でしょうか?それとも主キーだけで十分でしょうか? SELECT * FROM Order WHERE OrderID=1 AND OrderDate='2008/08/20' OrderDate='2008/08/20' あると高速でしょうか? よろしくお願いします。 |
|
投稿日時: 2008-08-20 15:39
Order テーブルの定義が分からないので何とも・・・
仮に OrderID だけで主キーになっているのであれば、OrderDate の絞込みは不要ですね。 スピードアップということでしたら、SELECT TOP 1 〜 くらいかな あと、排他制御を考慮しなくて良いの(ダーティレコードを読む可能性を容認できる場合)であれば WITH (NOLOCK) 付けると良いでしょう。 SELECT TOP 1 * FROM Order WITH (NOLCOK) WHERE OrderID=1 ただし、排他制御の要否は十分に検討すべきですが |
|
投稿日時: 2008-08-20 22:25
すいません。
<補足> 主キーはOrderIDとして記述しています。 OrderDateはパーティショニングキー項目(呼び方が間違っているかもしれませんが)です。 <その他> Oracleでのパーティショニングアーキテクトの記述は検索できたんですが OracleではパーティションをSELECT文に指定することができるらしいですが。。。。 <返信> こばさん、ご指摘であれば、主キー(クラスタドインデックス)から パーティションインデックス(呼び方が間違っているかもしれませんが)は すぐに見つかるので指定しなくても良いて事でしょうか? |
1