クラスターインデックス
プライマリーキーのインデックスには、データ実体が入っているということを知った!ためになった!InnoDBからっぽい。
-- すごく早い(クラスターインデックス) select * from sometable where pk_id = 1; -- 同じくすごく早い(カバリングインデックス) select index_key from sometable where index_key = 123; -- 普通に早いけどちょっと劣る -- index_keyで対象探す、primary_keyからデータ実体を探すの2step必要。 select * from sometable where index_key = 123;
その事象どっかで見たなーと思ったら、チューニンガソン(MySQLの巻)優勝者のブログに書いてあった。
# そんなの意識するほどカリカリにチューニングする事ないだろ、とか思いつつ仕組みを理解できたので満足。
後、index_keyに加えてprimary_id も各インデックスに乗っかってるのでカバリングの対象。index_keyとprimary_idがペアの二分木のデータ構造で、データの実体とprimary_idがリンクされてる思えばおk。