Rumah > Artikel > pangkalan data > Ringkaskan dan selesaikan perangkap mysql left join query yang lambat dan mengambil masa yang lama
Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql Ia terutamanya memperkenalkan ringkasan masalah pertanyaan sertaan kiri perlahan dan masa yang lama, termasuk perintah EXPLAIN untuk menganalisis pernyataan SELECT, seperti berikut Mari kita ambil satu. lihat, saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: tutorial video mysql
Dua jadual, satu jadual pengguna a ( Kunci utama ialah jenis int), satu ialah jadual maklumat khusus pengguna b (medan id jadual pengguna ialah jenis varchar).
Oleh kerana kami ingin memaparkan pengguna dan maklumat pengguna, kami perlu membuat pertanyaan yang berkaitan Namun, kami mendapati bahawa pertanyaan selepas meninggalkan penyertaan adalah perlahan dan mengambil masa terlalu lama. Data jadual pengguna adalah kira-kira 20,000.
taipkan The. medan menyediakan asas penting untuk menilai sama ada pertanyaan itu cekap Melalui medan jenis, kami menilai sama ada pertanyaan adalah imbasan jadual penuh atau imbasan indeks
SEMUA: Menunjukkan imbasan jadual penuh ini pertanyaan mempunyai prestasi tertinggi. Salah satu pertanyaan yang paling teruk.
Secara umumnya, pertanyaan kami tidak seharusnya mempunyai SEMUA jenis pertanyaan, kerana pertanyaan sedemikian akan menjadi bencana besar kepada prestasi pangkalan data apabila jumlah data adalah besar. Contohnya, a Pertanyaan ialah pertanyaan jenis SEMUA, jadi secara amnya, anda boleh menambah indeks pada medan yang sepadan untuk mengelakkannya. 2. Tambah indeks baharu
alter table a add index idx_mbrID (mbrID);
Didapati jenis telah berubah kepada ref, mengikut perhubungan prestasi pelbagai jenis (
) Selepas perbandingan, saya rasa ia OK, jadi saya laksanakan pertanyaan.ALL < index < range ~ index_merge < ref < eq_ref < const < system
3 Ubah suai jenis medan indeks agar konsisten
Walaupun rentetan yang ditulis dalam kod java sebelum ini ditukar kepada int dalam pangkalan data, ia boleh digunakan secara normal dalam ujian semasa
Ringkasan
Pembelajaran yang disyorkan:
tutorial video mysqlAtas ialah kandungan terperinci Ringkaskan dan selesaikan perangkap mysql left join query yang lambat dan mengambil masa yang lama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!