普通に考えると [foo] にインデックスを張って、リーフで得られた値から他の列値 (hoge, fuga) を取得する、とやりたくなるところです。ただ、ここで [foo, hoge, fuga] という複合インデックスを張ることで、リーフだけで必要なデータが全て得られ、その後のランダムアクセスが無くなるため高速になります。このようなインデックスだけで完結するインデックスを Covering Index と言うそうです。
via blog.livedoor.jp
そうそう、決まるとこれ凄く速くなる。効くか効かないかは本番データで試してみないと分からないけど。どう見ても効くはずなのになぜか効かなかったりする時もあるのが曲者。
Covering Indexっていう名前があるとは知らなかった。
インデックス覚えたての頃に面白がって使いまくりがちなテクニック。
via ひひーん!
0 件のコメント:
コメントを投稿