タグ

selectとrangeに関するdai_yamashitaのブックマーク (1)

  • 【MySQL】大量データで LIMIT と OFFSET を使うと遅い - pospomeのプログラミング日記

    1000万件くらいのテーブルがあって、 そこから LIMIT OFFSET でデータを取得するんだけど、 OFFSET の値が大きければ大きいほど、遅くなる。 なぜ遅いのか? と思って EXPLAIN を実行したところ、 LIMIT OFFSET は テーブルフルスキャン(ALL) だった・・・。 なんとなくインデックスが効いているものだと思ってたが、 そうでもなかった。 --- 追記 2014/11/10 --- コメントにて 「ALLになるのは、何らかのキーでソートしないとALLになります」 とのご指摘をいただきました。 ---------------------- --- 追記 2014/06/13 --- なぜかこの記事の閲覧数が増えていたので内容を再確認してみました。 レコード数が多くなると LIMIT OFFSET が遅いというのは間違いないと思う。 ただ、上記の「LIMIT

    【MySQL】大量データで LIMIT と OFFSET を使うと遅い - pospomeのプログラミング日記
  • 1