我有一個問題,什麼是在一列中查找確切的字符串匹配的最佳方式。如何在一個mysql列中查找確切的字符串
我試過使用locate('needle', 'haystack') > 0.
這個問題是,例如,如果我試圖找到的字符串是'Ed',但是在blob或文本列中,我有一個字符串'I live' ,locate()會返回6.但是,這不是我所要求的。完全匹配時,最好使用LIKE ''
,但LIKE存在性能問題,因此它不是一個可行的解決方案。
有沒有一種方法我使用LOCATE()
做一個完全匹配?
我有一個問題,什麼是在一列中查找確切的字符串匹配的最佳方式。如何在一個mysql列中查找確切的字符串
我試過使用locate('needle', 'haystack') > 0.
這個問題是,例如,如果我試圖找到的字符串是'Ed',但是在blob或文本列中,我有一個字符串'I live' ,locate()會返回6.但是,這不是我所要求的。完全匹配時,最好使用LIKE ''
,但LIKE存在性能問題,因此它不是一個可行的解決方案。
有沒有一種方法我使用LOCATE()
做一個完全匹配?
你說LIKE有性能問題,但是你不打算通過使用一個完全像LIKE那樣的函數來解決性能問題。 – 2013-03-11 21:08:29
您使用'LIKE'時遇到了哪些性能問題,而您沒有使用'LOCATE'?這兩種方法都會混淆任何索引,所以它們應該表現相當 - [並且基於這個答案,'LIKE'略微超出了'LOCATE'](http://stackoverflow.com/a/7500150/643591)。 – 2013-03-11 21:08:52