2013年04月23日

SQL_CALC_FOUND_ROWSの結果件数がおかしい

少し前にMySQL5.6のリリース版(5.6.10)が出たが、利用してみると表題の状態が起きてた。

どうもORDER BYとLIMITの組み合わせがあるSQLの場合に現象が発生するようだ。

気に入らないが、where句で使ってるテーブルのIDをORDER BYの最後に付け加えるとうまくいった。

無意味なORDER BY項目なんで影響はないけどずっと気持ち悪かった。

しかし、2013-04-18にリリースされたMySQL 5.6.11で以下の記述を発見!

Handling of SQL_CALC_FOUND_ROWS in combination with ORDER BY and LIMIT could lead to incorrect results for FOUND_ROWS(). (Bug #68458, Bug #16383173)

お!何かそれっぽいBugs Fixedがあるぞ!早速、バージョンUPで試してみると直ってる!!!

半分5.6からの仕様なのかと諦めてたが、バグだったんだ!良かった!

でも、DBのバージョンUPの作業しないといけない。。。それはそれで悲しい。。。
posted by hana at 15:13| Comment(0) | TrackBack(0) | DB,SQL関連 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。