Rumah pangkalan data tutorial mysql 给互动百科优化一个SQL

给互动百科优化一个SQL

Jun 07, 2016 pm 05:36 PM
exists sql pengoptimuman

这是他们开发写的一个SQL语句:SELECTSQL_NO_CACHECOUNT(a.ad_id)FROMt_wiki_adaWHERE1=1andexists(select*fromt_wiki_ad_relbwherea.ad_id=b.ad_idandb.rel_sta

这是他们开发写的一个SQL语句:

SELECT SQL_NO_CACHE COUNT(a.ad_id) FROM t_wiki_ad a WHERE 1 = 1 and exists (select * from t_wiki_ad_rel b where a.ad_id = b.ad_id and b.rel_state = 1 and b.biz_code = '100010') and exists (select * from t_wiki_ad_rel b where a.ad_id = b.ad_id and b.rel_state = 1 and b.biz_id = '代孕母亲') and exists (select * from t_wiki_ad_rel b where a.ad_id = b.ad_id and b.rel_state = 1);


执行计划:

wKiom1MFolTQscQ1AAVBjoae4Ug146.jpg


执行时间:

wKiom1MFotHCoCjQAAIsRqVBfH0996.jpg

耗时30.20秒


优化思路,去除没必要的关联查询,去除1=1,把exist改为join,优化后:

wKioL1MFo0GjWrCPAAEQd1rQQew727.jpg

耗时0秒


执行计划:

wKiom1MFpInDRRxaAANI8NOHBmk584.jpg



本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apr 17, 2024 pm 02:57 PM

HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

Penggunaan operasi bahagian dalam Oracle SQL Penggunaan operasi bahagian dalam Oracle SQL Mar 10, 2024 pm 03:06 PM

"Penggunaan Operasi Bahagian dalam OracleSQL" Dalam OracleSQL, operasi bahagi ialah salah satu operasi matematik yang biasa. Semasa pertanyaan dan pemprosesan data, operasi pembahagian boleh membantu kami mengira nisbah antara medan atau memperoleh hubungan logik antara nilai tertentu. Artikel ini akan memperkenalkan penggunaan operasi pembahagian dalam OracleSQL dan memberikan contoh kod khusus. 1. Dua cara operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi boleh dilakukan dalam dua cara berbeza.

Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Mar 11, 2024 pm 12:09 PM

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan yang biasa digunakan, setiap satunya mempunyai sintaks dan ciri SQL tersendiri. Artikel ini akan membandingkan dan membezakan antara sintaks SQL Oracle dan DB2, dan memberikan contoh kod khusus. Sambungan pangkalan data Dalam Oracle, gunakan pernyataan berikut untuk menyambung ke pangkalan data: CONNECTusername/password@database Dalam DB2, pernyataan untuk menyambung ke pangkalan data adalah seperti berikut: CONNECTTOdataba

Persaingan teknologi pangkalan data: Apakah perbezaan antara Oracle dan SQL? Persaingan teknologi pangkalan data: Apakah perbezaan antara Oracle dan SQL? Mar 09, 2024 am 08:30 AM

Persaingan teknologi pangkalan data: Apakah perbezaan antara Oracle dan SQL? Dalam bidang pangkalan data, Oracle dan SQL Server adalah dua sistem pengurusan pangkalan data hubungan yang sangat dihormati. Walaupun kedua-duanya tergolong dalam kategori pangkalan data hubungan, terdapat banyak perbezaan antara mereka. Dalam artikel ini, kami akan menyelidiki perbezaan antara Oracle dan SQL Server, serta ciri dan kelebihannya dalam aplikasi praktikal. Pertama sekali, terdapat perbezaan dalam sintaks antara Oracle dan SQL Server.

Pengoptimuman program C++: teknik pengurangan kerumitan masa Pengoptimuman program C++: teknik pengurangan kerumitan masa Jun 01, 2024 am 11:19 AM

Kerumitan masa mengukur masa pelaksanaan algoritma berbanding saiz input. Petua untuk mengurangkan kerumitan masa program C++ termasuk: memilih bekas yang sesuai (seperti vektor, senarai) untuk mengoptimumkan storan dan pengurusan data. Gunakan algoritma yang cekap seperti isihan pantas untuk mengurangkan masa pengiraan. Hapuskan berbilang operasi untuk mengurangkan pengiraan berganda. Gunakan cawangan bersyarat untuk mengelakkan pengiraan yang tidak perlu. Optimumkan carian linear dengan menggunakan algoritma yang lebih pantas seperti carian binari.

Perbezaan antara Oracle dan SQL dan analisis senario aplikasi Perbezaan antara Oracle dan SQL dan analisis senario aplikasi Mar 08, 2024 pm 09:39 PM

Perbezaan antara Oracle dan SQL dan analisis senario aplikasi Dalam medan pangkalan data, Oracle dan SQL adalah dua istilah yang sering disebut. Oracle ialah sistem pengurusan pangkalan data hubungan (RDBMS), dan SQL (StructuredQueryLanguage) ialah bahasa piawai untuk mengurus pangkalan data hubungan. Walaupun mereka agak berkaitan, terdapat beberapa perbezaan yang ketara. Pertama sekali, mengikut definisi, Oracle ialah sistem pengurusan pangkalan data khusus, yang terdiri daripada

Kesesakan prestasi Laravel didedahkan: penyelesaian pengoptimuman didedahkan! Kesesakan prestasi Laravel didedahkan: penyelesaian pengoptimuman didedahkan! Mar 07, 2024 pm 01:30 PM

Kesesakan prestasi Laravel didedahkan: penyelesaian pengoptimuman didedahkan! Dengan perkembangan teknologi Internet, pengoptimuman prestasi laman web dan aplikasi menjadi semakin penting. Sebagai rangka kerja PHP yang popular, Laravel mungkin menghadapi kesesakan prestasi semasa proses pembangunan. Artikel ini akan meneroka masalah prestasi yang mungkin dihadapi oleh aplikasi Laravel dan menyediakan beberapa penyelesaian pengoptimuman dan contoh kod khusus supaya pembangun dapat menyelesaikan masalah ini dengan lebih baik. 1. Pengoptimuman pertanyaan pangkalan data Pertanyaan pangkalan data ialah salah satu kesesakan prestasi biasa dalam aplikasi Web. wujud

Analisis kesan nombor sambungan MySQL terhadap prestasi pangkalan data Analisis kesan nombor sambungan MySQL terhadap prestasi pangkalan data Mar 16, 2024 am 10:09 AM

Analisis Kesan Nombor Sambungan MySQL terhadap Prestasi Pangkalan Data Dengan pembangunan aplikasi Internet yang berterusan, pangkalan data telah menjadi alat penyimpanan dan pengurusan data yang penting untuk menyokong sistem aplikasi. Dalam sistem pangkalan data, bilangan sambungan adalah konsep penting, yang berkaitan secara langsung dengan prestasi dan kestabilan sistem pangkalan data. Artikel ini akan bermula dari perspektif pangkalan data MySQL, meneroka kesan bilangan sambungan pada prestasi pangkalan data, dan menganalisisnya melalui contoh kod tertentu. 1. Berapakah bilangan sambungan? Bilangan sambungan merujuk kepada bilangan sambungan klien yang disokong oleh sistem pangkalan data pada masa yang sama Ia juga boleh diuruskan

See all articles