0
我的目標是避免嘗試匹配通配符的查詢,因爲它比查找匹配帶有通配符的前綴的查詢要慢100倍。用mysql匹配單詞列表的前綴
對於一個單詞它不是一個問題,但是如果我有用逗號分隔的單詞列表呢?
是否有任何有效的方法來匹配這些單詞的前綴(跟隨通配符),而不是僅通配符?
我的意思是有沒有什麼辦法可以避免這種情況下匹配模式像%word%?
我的目標是避免嘗試匹配通配符的查詢,因爲它比查找匹配帶有通配符的前綴的查詢要慢100倍。用mysql匹配單詞列表的前綴
對於一個單詞它不是一個問題,但是如果我有用逗號分隔的單詞列表呢?
是否有任何有效的方法來匹配這些單詞的前綴(跟隨通配符),而不是僅通配符?
我的意思是有沒有什麼辦法可以避免這種情況下匹配模式像%word%?
推定是你在列表上有一個索引。否則,like
的性能不應比使用前綴匹配與非前綴匹配慢100倍。是的,有點慢。但大部分的努力應該是從網頁上讀取數據。
如果您有用逗號分隔的單詞列表,那麼您的數據結構錯誤。你需要引入一個帶有id和每個單詞的新表。
將數據正確歸一化後,可以針對查詢使用適當的關係構造,並免除使用like
來連接表或查找元素。
你說得對,我正在使用索引。而且你的解決方案再次合適。我會在9分鐘內接受你的回答:) – 2013-04-23 18:37:08