2015年6月6日 ごきげんよう。 前回の記事 PostgreSQL B-treeインデックスの動作検証 記事中に、LIKE述語の前方一致でインデックスが動かないという現象がありましたが、 ありがたいことに記事にコメントをいただきました。 ごきげんよう。LIKEの前方一致ですが、 CREATE INDEX index_moji ON index_test(moji text_pattern_ops); と、列名の後に text_pattern_ops を付けてインデックスを作り直してみて下さい。 こちらでやったら、ロケールが「C」のDBなら初めからIndex Scanで、 ロケールがJapanese_Japan.932のDBでは記事と同様で、…ops付けたらインデックスが使われました。 kenpg / koda さんありがとうございます! というわけで データベースのロケールを見てみました
![PostgreSQL ロケールとLIKE述語そしてpgAdminでの注意](https://cdn-ak-scissors.b.st-hatena.com/image/square/d8014f6b227136fc0e602289a94c0ab3c4a92116/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEgRAyvFxbfQAjmaJ2ZaK0c9WHEzkMUDRx0mbg0k_zDi6raU2qzyuGKK15AQu_S0BnsdLxmIN7Kqoz17pPGSRHvS5JrT5OAlV8gF2LcN5-dLOC_LL2Nki4jpf-W9oujk-Xv02SbFviNrH7w%2Fw1200-h630-p-k-no-nu%2Fencoding.png)