色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql5.7 like模糊查詢優化

謝彥文2年前11瀏覽0評論

MySQL是目前世界上使用最廣泛的開源關系型數據庫管理系統,其版本升級速度非常快,其中MySQL5.7是最受歡迎的版本之一。在實際項目中,like模糊查詢是非常常見的查詢方式,但是因為它的匹配規則較復雜,在大數據查詢時可能會影響查詢效率。那么我們該如何優化MySQL5.7的like模糊查詢呢?以下是一些可供參考的方法。

SELECT *
FROM goods
WHERE goods_name LIKE '%abc%';

1.使用全文索引

MySQL5.7內置了全文索引功能,可以提高模糊查詢效率。可加在VARCHAR和TEXT類型上,將特定的文字和它們在文本中的位置進行索引。使用全文索引需要先創建FULLTEXT索引,具體代碼如下:

ALTER TABLE goods ADD FULLTEXT(goods_name);

然后就可以進行優化查詢,代碼如下:

SELECT *
FROM goods
WHERE MATCH(goods_name) AGAINST('abc');

2.使用前綴查詢

前綴查詢是指對搜索關鍵字的前綴進行匹配,如%abc。如果關鍵字范圍較小,可以選擇使用前綴查詢來提高效率。代碼如下:

SELECT *
FROM goods
WHERE goods_name LIKE 'abc%';

3.使用索引

為待查詢的字段創建索引,可以大幅提高查詢效率。但是索引也存在一些缺點,比如會增加記錄的存儲空間;索引列的順序對效果有影響等。因此需要針對具體情況進行優化。代碼如下:

CREATE INDEX idx_goods_name ON goods(goods_name);
SELECT *
FROM goods
WHERE goods_name LIKE '%abc%';

4.盡量避免使用not like和‘%’開頭

not like和‘%’開頭查詢會全表掃描,影響查詢效率。如果可以避免使用,就盡量不要使用。

以上就是優化MySQL5.7 like模糊查詢的一些方法,需要結合具體情況進行優化,選擇最合適的方法。優化查詢可以提高系統運行效率,減小系統負載,提高系統的穩定性。