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!