mysql 高效模糊查詢 代替like

2021-09-01 22:34:36 字數 911 閱讀 4014

使用下面的函式來進行模糊查詢,如果出現的位置〉0,表示包含該字元串。查詢效率比like要高。如果: table.field like '%aaa%' 可以改為 locate ('aaa' , table.field) > 0

locate(substr,str)position(substr in str)返回子串substr在字串str第乙個出現的位置,如果substr不是在str裡面,返回0.

mysql> select locate('bar', 'foobarbar'); -> 4 mysql> select locate('xbar', 'foobar'); -> 0
該函式是多位元組可靠的。
locate(substr,str,pos)返回子串substr在字串str第乙個出現的位置,從位置pos開始。如果substr不是在str裡面,返回0

mysql> select locate('bar', 'foobarbar',5); -> 7
這函式是多位元組可靠的。

mysql模糊查詢 MYSQL模糊查詢

mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。一 sql模式 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你...

Mysql模糊查詢like效率,以及更高效的寫法

在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在資料量小的時候,不容易看出查詢的效率,但在資料量達到百萬級,千萬級的時候,查詢的效率就很容易顯現出來。這個時候查詢的效率就顯得很重要!一般情況下like模糊查詢的寫法為 field已建立索引 selectcolumnfro...

Mysql模糊查詢like效率,以及更高效的寫法

在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在資料量小的時候,不容易看出查詢的效率,但在資料量達到百萬級,千萬級的時候,查詢的效率就很容易顯現出來。這個時候查詢的效率就顯得很重要!一般情況下like模糊查詢的寫法為 field已建立索引 select column f...