Rumah >pangkalan data >tutorial mysql >Analisis kecekapan atau dan dalam dalam mysql dengan contoh

Analisis kecekapan atau dan dalam dalam mysql dengan contoh

藏色散人
藏色散人ke hadapan
2021-09-25 17:12:492343semak imbas

Analisis kecekapan atau dan dalam dalam mysql dengan contoh

Kecekapan atau dan masuk dalam mysql

Kata Pengantar

Hari ini saya menghadapi masalah tersekat laman web selepas beberapa minit Okay, saya menjumpai sql dalam skrip pemasaan, dan kecekapan pelaksanaan adalah sangat perlahan DBA mencadangkan untuk menukar atau ke dalam, dan kecekapan meningkat ratusan kali

Penerangan senario

1. Pertanyaan perkaitan dua Jadual
2 Jumlah data dalam jadual1 adalah hampir 1 juta
3 Jumlah data dalam jadual2 adalah hampir 9 juta
4 diindeks
5. Pernyataan pertanyaan asal

SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title="衣服" or b.title="裤子" or b.title="帽子" limit 0,100

6. Penyataan pertanyaan diubah

SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title IN ("衣服","裤子","帽子") limit 0,100

Kecekapan selepas transformasi

Masa pelaksanaan sql asal ialah 5s , selepas perubahan hanya mengambil masa 0.01s

Sebab

Saya menyemak maklumat dan mendapati bahawa apabila jumlah data melebihi satu juta dan syarat tidak diindeks, kecekapan pertanyaan atau adalah jauh lebih rendah daripada in. Kecekapan atau ialah O(n), manakala dalam Kecekapan ialah O(logn). Apabila n lebih besar, perbezaan kecekapan menjadi lebih jelas.

Pembelajaran yang disyorkan: "tutorial video mysql"

Atas ialah kandungan terperinci Analisis kecekapan atau dan dalam dalam mysql dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam