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関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック