Heim > Datenbank > MySQL-Tutorial > 给互动百科优化一个SQL

给互动百科优化一个SQL

WBOY
Freigeben: 2016-06-07 17:36:46
Original
1275 Leute haben es durchsucht

这是他们开发写的一个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



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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage