SQL數(shù)據(jù)庫優(yōu)化之:like %xxx%該如何優(yōu)化
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
今天給大家分享一個小知識,實際項目中, 第一種可以嘗試的方案就是利用索引條件下推,我先演示再講原理,比如我有下面一張訂單表: 就算給 但是如果給 所以,并不是 再來簡單分析一下索引條件下推的原理,在執(zhí)行查詢時先利用SQL中所提供的created_at條件在聯(lián)合索引B+樹中進(jìn)行快速查找,匹配到所有符合created_at條件的B+樹葉子節(jié)點后,再根據(jù)company_name條件進(jìn)行過濾,然后再根據(jù)過濾之后的結(jié)果中的主鍵ID進(jìn)行回表找到其他字段(回表),最終才返回結(jié)果,這樣處理的好處是能夠減少回表的次數(shù),從而提高查詢效率。 當(dāng)然,如果實在不能建立或不方便建立聯(lián)合索引,導(dǎo)致不能利用索引條件下推機(jī)制,那么其實可以先試試Mysql中的全文索引,最后才考慮引入ES等中間件,當(dāng)然Mysql其他一些常規(guī)優(yōu)化機(jī)制也是可以先考慮的,比如分頁、索引覆蓋(不select *)等。 該文章在 2023/11/20 12:36:21 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |