我已經在我的數據庫表中獲得了一千萬記錄。 當我使用像是非常緩慢,當我使用匹配他們失去了一些記錄。MySQL - 替代類似 - regexp?
我創建幫助表:
tag_list
tag_id
tag_name
tag_rel_message
tag_id
messag_id
消息
message_id
message_text
in tag_list我添加了所有單詞$ message_text - explode(「」,$ message_text);
我的新查詢:
SELECT m.*
FROM tag_rel_messages trm
INNER JOIN messages m ON (trm.message_id = m.message_id)
INNER JOIN tag_list tl ON (trm.tag_id=tl.tag_id
WHERE tl.tag_name REGEXP 'pionas' AND tl.tag_name REGEXP 'website'
GROUP By trm.message_id
但不顯示任何記錄。
這個查詢有什麼問題? 也許我應該使用REGEXP以外的東西?
感謝您的幫助
如果我理解正確的話,tag_list的'tag_name'只包含單個標記關鍵字,那麼怎麼可能任何一個令牌同時匹配'pionas'和'網站'? – Fabricator
是的,只有一個關鍵字。你是對的。那麼我應該怎麼做才能在所有條件都成立的情況下找到這條信息呢? – Pionas
您的'WHERE'子句指出'tag_name'需要匹配''pionas''和**''website''。也許嘗試'OR'而不是'AND'? –