クラスタ化インデックス
行が物理的に格納される順序を決めるインデックス。テーブル自体がキーで整列されたインデックスの木になる。1テーブルに1つしか持てず、MySQL/InnoDBとSQL Serverでは通常、主キーがこれになる。
非クラスタ化(セカンダリ)インデックスは行を指す別の構造だが、クラスタ化インデックスは整列された行そのものだ。利点は、キーによる検索と範囲スキャンが極めて速いこと(データがすでにそこにあり、追加の参照が要らない)。代償として、クラスタキーの選び方があらゆることに響く。ランダムなキー(ランダムUUID)は挿入の断片化と「ページ分割」を招き、単調増加するキー(自動採番)は挿入が効率的な代わりに「ホットスポット」を生みうる。InnoDBではすべてのセカンダリインデックスが主キーを指すため、主キーが大きいと全インデックスが膨らむ。設計上の中心的な判断だ。PostgreSQLには真のクラスタ化インデックスがなく、ヒープと一度きりの CLUSTER によるソートがあるのみである。