S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

大事なことなのでもう1回

SELECT文の結果とLIMIT OFFSETとORDER BY
いくらインデックスや主キーのあるテーブルであっても、「ORDER BY」が指定されていない場合は、SQLの結果の順番は保証されません。
「ORDER BY」を指定していなくても、同じSQLの結果が同じ順番で返ってくるのはDBMSの実装の仕様です。
なので、LIMIT OFFSETでページングを行う場合など、複数回SQLの結果の順番に意味のある場合は、要件で必要なカラム+レコードがユニークになるカラムで必ず「ORDER BY」を指定しましょう。