Bagaimana untuk Mendapatkan Pilih MySQL Besar dalam Potongan untuk Prestasi Dipertingkatkan?

Linda Hamilton
Lepaskan: 2024-10-26 06:11:31
asal
835 orang telah melayarinya

How to Retrieve Large MySQL Selects in Chunks for Enhanced Performance?

Mendapatkan Kembali Pilihan MySQL Besar dalam Potongan untuk Prestasi Dipertingkat

Apabila berurusan dengan set hasil besar-besaran melebihi 70 juta baris dalam MySQL, mengambil semua data di sekali boleh menyebabkan keletihan ingatan. Untuk menangani perkara ini, mengoptimumkan proses pengambilan data melalui penggumpalan menjadi penting.

Klausa LIMIT menyediakan penyelesaian untuk mendapatkan semula data dalam kelompok. Dengan menentukan baris permulaan dan bilangan baris maksimum dalam pernyataan LIMIT, anda boleh mengambil data dalam ketulan yang lebih kecil. Contohnya:

SELECT * FROM MyTable ORDER BY whatever LIMIT 0,1000
Salin selepas log masuk

Pertanyaan ini mendapatkan semula 1,000 baris pertama, dengan 0 ialah baris permulaan yang diindeks sifar dan 1000 ialah bilangan maksimum baris. Untuk terus mengambil bahagian berikutnya, anda boleh menambah baris permulaan dengan sewajarnya:

SELECT * FROM MyTable ORDER BY whatever LIMIT 1000,1000 -- rows 1,001 - 2,000
SELECT * FROM MyTable ORDER BY whatever LIMIT 2000,1000 -- rows 2,001 - 3,000
Salin selepas log masuk

Walau bagaimanapun, untuk mengelakkan jadual asas daripada berubah semasa pengambilan data, adalah disyorkan untuk menyimpan keputusan dalam jadual sementara:

CREATE TEMPORARY TABLE MyChunkedResult AS (
  SELECT *
  FROM MyTable
  ORDER BY whatever
);
Salin selepas log masuk

Selepas mencipta jadual sementara, anda boleh mengambil ketulan data daripadanya:

SELECT * FROM MyChunkedResult LIMIT 0, 1000;
SELECT * FROM MyChunkedResult LIMIT 1000,1000;
SELECT * FROM MyChunkedResult LIMIT 2000,1000;
Salin selepas log masuk

Pilihan saiz bongkah bergantung pada kes penggunaan tertentu, dan disyorkan untuk bereksperimen dengan ketulan yang lebih besar untuk pengoptimuman prestasi. Selain itu, jangan lupa untuk menggugurkan jadual sementara apabila proses selesai:

DROP TEMPORARY TABLE MyChunkedResult;
Salin selepas log masuk

Dengan mengikut langkah ini, anda boleh mendapatkan keputusan pilihan MySQL yang besar secara berkesan dalam ketulan, meningkatkan penggunaan memori dan prestasi keseluruhan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Pilih MySQL Besar dalam Potongan untuk Prestasi Dipertingkatkan?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!