色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

mysql對于模糊查詢like的一些匯總

瀏覽:166日期:2023-10-10 12:25:51

1、常見用法:

(1)搭配%使用

%代表一個或多個字符的通配符,譬如查詢字段name中以大開頭的數(shù)據(jù):

mysql對于模糊查詢like的一些匯總

(2)搭配_使用

_代表僅僅一個字符的通配符,把上面那條查詢語句中的%改為_,會發(fā)現(xiàn)只能查詢出下面一條數(shù)據(jù):

mysql對于模糊查詢like的一些匯總

2、使用like模糊查詢會導(dǎo)致索引失效,在數(shù)據(jù)量大的時候會有性能問題

(1)盡量少以%或者_開頭進行模糊查詢

通過explain執(zhí)行計劃,我們發(fā)現(xiàn),使用like模糊查詢時,如果不以%和_開頭查詢的話,索引還是有效的

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

以%或者_開頭查詢,索引失效

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

(2)使用覆蓋索引

當(dāng)查詢的的條件和查詢的結(jié)果都是索引中的字段的時候,這個索引我們可以稱之為覆蓋索引,這個時候,使用like模糊查詢索引是有效的

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

InnoDB中主鍵可以不添加進索引中

注意:使用覆蓋索引,對于字段的長度是由要求限制的,一般超過長度,索引也會失效

這里如果我查詢中帶有descripition字段,則覆蓋索引也會失效(我這里的數(shù)據(jù)庫經(jīng)過測試最多只支持255長度的字段)

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

(3)使用全文索引

給字段建立Full Text索引,然后使用match(...) against(...)進行檢索

mysql對于模糊查詢like的一些匯總

mysql對于模糊查詢like的一些匯總

注意:這種全文索引方式只對英文單詞起作用,對于中文漢字支持不夠友好,需要額外去mysql的配置文件做一些配置修改,讓它額外支持中文

(4)使用一些額外的全文搜索引擎來解決

Lucene,solr,elasticsearch等等

基本原理是:把mysql配置文件中的ft_min_word_len=3改為1。(沒有這項就直接添加),然后新建一個字段來保持分詞結(jié)果,給這個字段建立全文索引。然后實現(xiàn)一個分詞模塊,把詞語“大家好”拆分為“大 大家 大家好 家 家好 好”。然后用match .. against 來代替like %%,查詢出來的結(jié)果跟like的結(jié)果基本相同(如果分詞合理的話),但是效率比like高至少10倍以上。

總結(jié)

到此這篇關(guān)于mysql對于模糊查詢like的文章就介紹到這了,更多相關(guān)mysql模糊查詢like內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 成人看片黄a毛片 | 免费高清欧美一区二区视频 | 日本精品在线观看 | 国产精品资源在线 | 午夜精品视频在线观看美女 | 一级片免费的 | 精品国产一区二区 | 国产成人影院一区二区 | 亚洲一级毛片视频 | 女人张开腿让男人插 | 久久美女精品国产精品亚洲 | 国产成人久久精品 | 日本黄大片影院一区二区 | 久久精品国产欧美成人 | 欧美精品综合一区二区三区 | 久久国产视频网 | 在线精品视频在线观看高清 | 久久国产亚洲精品 | 禁止18周岁进入免费网站观看 | 99国产精品高清一区二区二区 | 自拍视频第一页 | 日韩在线视精品在亚洲 | gay毛片| 免费一级欧美片在线观看 | 欧美一区二区三区在线观看 | 久久久国产乱子伦精品 | 欧美成人爽毛片在线视频 | 自拍视频第一页 | 亚洲成人福利网站 | 国产在线观看一区二区三区 | 福利片免费一区二区三区 | 亚洲乱人伦在线 | 久久免费视频播放 | 美国一级片在线 | 欧洲成人在线视频 | 精品日本久久久久久久久久 | 国产乱子精品免费视观看片 | 女教师的一级毛片 | 91在线一区二区三区 | 久久视屏这里只有精品6国产 | 亚洲天堂男 |