インデックスが効いてなかったのです。

2013年7月3日

とあるローカルで動くアプリでこんな記述がありました。

$sql = "SELECT * FROM hoge WHERE id=123456";

ここで、hoge.idはvarchar型でインデックスが作成されているものとします。
実行するSQLを定義しているだけなのですが、このSQLを実行すると

どうなるかというと、

インデックスが効きません。

$sql = "SELECT * FROM hoge WHERE id='123456'";

と、囲ってやらないとすべてのカラムに対してキャストしながら検索を行い、せっかくのindexにも意味ありません。

しかしまあぶっちゃけ、使えるならprepared使ったほうがいいと思うよ。


PHP | majin | 14:30 | Comments (0)

コメントはまだありません »

No comments yet.

コメントRSS

Leave a comment

Copyright © MAJIN_T
Powered by WordPress