2
我有一個表的結構基本上是:MySQL關鍵字搜索查詢與所有關鍵字匹配項目?
Items
ID: INT(10)
Title: CHAR(255)
ItemsWords
ID: INT(10)
ItemID: INT(10)
Word: CHAR(50)
對於每一個「項目」記錄,但在「ItemsWords」表中的多個記錄。
我能找到使用這裏麪包含一個單詞的所有此類項目:
SELECT * FROM Items i, ItemsWords w WHERE w.ItemID=i.ID AND w.Word='WORD_TO_FIND'
我能找到使用這裏面含有任何的一些詞像這樣的所有項目:
SELECT * FROM Items i, ItemsWords w
WHERE w.ItemID=i.ID
AND (w.Word='WORD_TO_FIND' OR w.Word='ANOTHER_WORD_TO_FIND')
但我也希望能夠使用相同的表結構來查找只包含任何數量的搜索詞的'項目'。
我知道我可以使用FullText by Items
表有超過100,000條記錄和ItemWords
表多了很多時間,所以已經建立了這樣的結構來使這些搜索非常快速並且對服務器影響最小。上面的一個單詞或任何單詞搜索確實超級快捷。
謝謝!
謝謝,作品的出色和快速我可以問爲什麼你使用內連接而不是左連接或右連接? – Claud
內連接匹配哪裏有兩個表中的元素 - 哪些是您感興趣的內容。即使連接表中沒有匹配,左側或右側(外部)連接也會匹配。 – podiluska