重複の可能性:
MySQL クエリに制限があり、大きなオフセットが永遠にかかる
私のテーブルには 25,000 行が含まれており、ページネーションを使用してすべての行をページに表示しています。ページ制限が 1 ページあたり 10 行に設定されている場合、各ページが非常に高速に表示されます。ただし、ページ制限サイズを 1 ページあたり 250 行に変更すると、テーブルの読み込み (レコードの表示) に 30 秒から 1 分かかります。使用しているクエリは次のとおりです。
SELECT SQL_CALC_FOUND_ROWS Merchants.*, DataSources.DsISOName, PrName
FROM Merchants
INNER JOIN DataSources ON MDsID=DsID
INNER JOIN Processors ON PrID = DsType
ORDER BY MDBA LIMIT 0, 250
これは、最初にページをロードしたときに得られるものです。ページを変更すると制限番号 0、250 が変更されるため、ページ 2 にアクセスすると制限が次のように変更されます。
LIMIT 250, 500
私のクエリに問題がある場合は、お知らせください。ページごとに 250 行がフェッチされているときに、テーブルのロードに 1 分かかる理由がわかりません。mysqlテーブルで、さまざまなIDのインデックスを使用してみましたが、速度は同じです。