Partial indexとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Partial indexの意味・解説 

部分インデックス

(Partial index から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/11 16:49 UTC 版)

ナビゲーションに移動 検索に移動

部分インデックス(ぶぶんインデックス、: partial index)は関係データベース管理システムで用いられるインデックスの中で、特定の条件に適合するだけを含むものを指す。

インデックスの対象となるテーブルに多くの行が含まれていても、インデックスに含むキーを絞り込むことで、インデックスのサイズを小さく抑えられる利点がある。

処理状況をフラグ列として持つテーブルを例に挙げる。フラグには 'A' (アクティブ), 'P' (処理待ち), 'W' (処理中), 'F' (完了) があるとする。インデックスを使った検索が必要なのは 'A', 'P', 'W' のみである場合、以下のような部分インデックスを定義することができる。

  CREATE INDEX partial_flag ON txn_table (flag) WHERE flag in ('A', 'P', 'W');

このインデックスは フラグが 'F' の行を含まない。行の大半の処理が完了していると考えられるならば、フラグ 'F' の行を除外することでインデックスが含む行数を少なく抑えながら、検索できる必要のある行に対しては依然としてインデックスを使うことができる。

同様に、部分インデックスは、特定の列が NULL でない行だけを含むように定義することもできる。大半の行のその列が NULL であるならば大きな利益が見込める。

   CREATE INDEX partial_object_update ON object_table (updated_on) WHERE updated_on IS NOT NULL;

このインデックスを使って以下のクエリを実行すると、更新日を持つ (updated_on IS NOT NULL) 行を効率良く取得できる。

   SELECT * FROM object_table WHERE updated_on IS NOT NULL ORDER BY updated_on;

部分インデックスの条件は、キーと異なる列でも良い。以下のようなインデックスも定義できる。

   CREATE INDEX partial_salary ON employee(age) WHERE salary > 2100;

サポート

  • Microsoft SQL Server はバージョン 2008 以降でサポートしており、「フィルタ選択されたインデックス」と呼んでいる。[1]
  • PostgreSQL はバージョン 7.0 (2000-05-05) 以降でサポートしている。[2]
  • MySQL 5.4 では部分インデックスをサポートしていない。[3]

脚注

  1. ^ フィルタ選択されたインデックスのデザイン ガイドライン”. SQL Server オンライン ブック. Microsoft. 2009年8月29日閲覧。
  2. ^ リリースノート 7.0”. PostgreSQL 8.4.0文書. PostgreSQL. 2009年8月29日閲覧。 “Allow creation of functional indexes to use default types”
  3. ^ Razzoli, Federico (2008年10月5日). “Bug #4990 Functional Indexes”. bugs.mysql.com. 2009年7月14日閲覧。

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

「Partial index」に関係したコラム

辞書ショートカット

すべての辞書の索引

「Partial index」の関連用語

Partial indexのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Partial indexのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの部分インデックス (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS