Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan Pilih MySQL Besar dalam Potongan untuk Prestasi Dipertingkatkan?

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

Linda Hamilton
Linda Hamiltonasal
2024-10-26 06:11:31839semak imbas

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

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

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
);

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;

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;

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!

Kenyataan:
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