約1,000,000の製品を含むサイトを構築しました。すべての製品へのリンクを含む一連のサイトマップを作成したいと思います。サイトマップには最大50,000のリンクが含まれている可能性があることを理解しているので、このようなサイトマップを20個作成する予定です。
これを一連のSQLステートメントで実現したいと思います。私の計画:1,000個のSQLステートメント。それぞれが1,000個の製品をプルアップします。SQLステートメントは次の行に沿っています。
SELECT name, category, catalog_number FROM product ORDER BY id LIMIT 0, 1000
SELECT name, category, catalog_number FROM product ORDER BY id LIMIT 1000, 1000
SELECT name, category, catalog_number FROM product ORDER BY id LIMIT 2000, 1000
SELECT name, category, catalog_number FROM product ORDER BY id LIMIT 3000, 1000
等々。
問題は、LIMIT(オフセット)の最初の引数が大きくなると、各SQLの実行にかかる時間が非常に速くなることです。具体的には、LIMITの最初の引数が28000未満の場合、ステートメントは.3秒未満で実行されました。しかし、私が試したとき:
SELECT name, category, catalog_number FROM product ORDER BY id LIMIT 29000, 1000
ステートメントの実行にかかる時間は30秒に跳ね上がりました!そして、その後のすべてのステートメントの実行には、同様に長い時間がかかりました。
私が試したもう1つのことは、2番目の引数をLIMITに増やすことでしたが、同じ問題が発生しました。
どんな援助も歓迎します。ありがとうございました。