mysqlのページングの最後の数ページの遅い問題


元のsql
SELECT
    id
FROM
    table
WHERE
    xxx_id = 1
LIMIT 800000,20

インデックスオーバーライドスキャンを使用すると、selectの後に検出されたのはすべてのカラムではなくインデックスカラムであり、このインデックスのカラムはidが望ましい.次に、関連クエリーをもう一度行って、すべてのカラムを返します.上記のsqlは、次のように書くことができます.
idとxxx_idがインデックス
SELECT
    *
FROM
    table t
INNER JOIN (
    SELECT
        id
    FROM
        table
    WHERE
        xxx_id = 1
    LIMIT 800000,20
) t1 ON t.id = t1.id