Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengoptimumkan Pertanyaan MySQL dengan Offset LIMIT Besar?

Bagaimana untuk Mengoptimumkan Pertanyaan MySQL dengan Offset LIMIT Besar?

Linda Hamilton
Lepaskan: 2024-11-11 08:35:03
asal
323 orang telah melayarinya

How to Optimize MySQL Queries with Large LIMIT Offsets?

Mengoptimumkan Pertanyaan MySQL dengan Offset LIMIT Besar

Pertanyaan MySQL yang menggunakan klausa LIMIT dengan offset yang besar boleh menghadapi masalah prestasi yang ketara. Untuk menangani cabaran ini, pertimbangkan teknik pengoptimuman berikut:

Pendekatan Jadual Pengindeksan

Daripada mengambil baris secara langsung menggunakan klausa LIMIT, buat jadual pengindeksan yang memetakan kunci jujukan kepada nilai kunci utama dalam jadual sasaran. Ini membolehkan anda mendapatkan data dengan cekap menggunakan INNER JOIN dan klausa WHERE.

Langkah:

  1. Buat pengindeksan jadual:

    CREATE TABLE seq (
       seq_no int NOT NULL AUTO_INCREMENT,
       id int NOT NULL,
       PRIMARY KEY(seq_no),
       UNIQUE(id)
    );
    Salin selepas log masuk
  2. Isi jadual pengindeksan:

    TRUNCATE seq;
    INSERT INTO seq (id) SELECT id FROM mytable ORDER BY id;
    Salin selepas log masuk
  3. Dapatkan data daripada sasaran jadual:

    SELECT mytable.*
    FROM mytable
    INNER JOIN seq USING(id)
    WHERE seq.seq_no BETWEEN 1000000 AND 1000999;
    Salin selepas log masuk

Dengan menggunakan pendekatan ini, anda meningkatkan prestasi pertanyaan dengan ketara LIMIT offset yang besar, membolehkan anda mendapatkan data dengan cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Pertanyaan MySQL dengan Offset LIMIT Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan