【MySQL】limitとbetweenのパフォーマンス差。

ちょっとしたネタ。

例えばID順に並んでいるデータをlimit 1000, 100とする場合、
where句以降を、id between 1000 and 1100 order by id とするほうが早いとのこと。

そもそもlimitはデータを1000個目から100個取得という処理を行うのではなく
1100個のデータを取得してから1000個のデータを捨てるという処理を行う。
そのため、limit句はオフセットの個数が増えてくるとパフォーマンスが低下してしまうのである。

全ての状況で使えるわけではないけれども、パフォーマンスに少しでも拘る場面では有効だね。