生產環境乙個like模糊匹配SQL優化

2021-09-05 06:53:37 字數 826 閱讀 9742

select s.* from pre_common_member s where s.`username` like('%植物大戰殭屍%') limit 100;
like後面接'%關鍵字%' 這樣是用不到索引的,會導致全表掃瞄,這條sql查詢耗時,見下圖:

耗時:27.89秒

優化方案:

一、如果模糊查詢不要求很準確,可以修改為:

select s.* from pre_common_member s where s.`username` like('植物大戰殭屍%') limit 100;
like '關鍵字%'這樣是可以用到索引的,這條sql查詢耗時,見下圖:

耗時:0秒

二、如果模糊查詢要求很準確,可以修改為:

select s.* from pre_common_member s join

(select uid from pre_common_member where username like('%植物大戰殭屍%') limit 100)tmp

on s.uid=tmp.uid;

這條sql查詢耗時,見下圖:

耗時:9.17秒

Like的乙個小技巧

1 selectcommand select admin adpassword purview from admin where admin like admin 注意改成like,並且不加 號 2 查詢時用如下語句,注意寫法.sqldatasource1.selectparameters admi...

獲取乙個模糊查詢

set ansi nulls on set quoted identifier on goalter function dbo getfirstalpha str nvarchar 4000 returns nvarchar 4000 asbegin declare strlen int,re nv...

乙個測試環境

這是一次inte ce遇到的,面試人員找來乙個實際填寫的表單,要在domino中按照這個樣式做個表單,然後能夠融合到它們的開發系統中。做表單不是難事,這裡就不說了。但用面試人員告知的網域名稱test.cn訪問看這個預覽效果卻沒有這個也頁面。很奇怪,用瀏覽器用ip位址訪問預覽效果的時候卻提示輸入使用者...