成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

mysql查詢FIND_IN_SET REGEXP實踐示例

瀏覽:167日期:2023-05-08 10:17:42
目錄
  • 背景
  • FIND_IN_SET實現(xiàn)
  • REGEXP實現(xiàn)
  • 如何選擇

背景

數(shù)據(jù)庫存在一個字段,里面的數(shù)據(jù)是用逗號隔開存儲的,比如某人的愛好、喜歡的電影類型等場景

現(xiàn)在前臺需要根據(jù)具體的id查詢相應(yīng)的結(jié)果,比如查詢某個類型電影有哪些人喜歡

FIND_IN_SET實現(xiàn)

<if test="query.movieTypeId != null">   AND FIND_IN_SET(${query.movieTypeId}, movie_type_ids)</if>

注意:FIND_IN_SET字符串之間不要有空格,空格可能導(dǎo)致查詢失敗!

REGEXP實現(xiàn)

<if test="query.movieTypeId != null">   AND movie_type_ids REGEXP "[[:&lt;:]]${query.movieTypeId}[[:>:]]"</if>

如何選擇

一般來說,FIND_IN_SET()REGEXP 的查詢效率更高。這是因為 FIND_IN_SET() 函數(shù)是一個 MySQL 內(nèi)置函數(shù),而 REGEXP 是一個正則表達式引擎,需要進行更多的計算。

如果你需要進行更為復(fù)雜的匹配操作,可以考慮使用 REGEXPREGEXP 最大的優(yōu)勢在于可以進行高級的匹配操作,因此,在實際使用中需要根據(jù)具體情況來選擇不同的匹配方式,以達到最優(yōu)的查詢效率。

以上就是mysql查詢FIND_IN_SET REGEXP實踐示例的詳細內(nèi)容,更多關(guān)于mysql查詢的資料請關(guān)注其它相關(guān)文章!

標簽: MySQL
相關(guān)文章: