我有1個名爲「關鍵字」的表,其中包含關鍵字列表(可能是短語或單個單詞),其列包括:ID,關鍵字。如何在MySQL中查詢過濾被封鎖的單詞
還有另一個名爲「Blocked」的表格,其中包含應該用於過濾「關鍵字」表格的單詞列表(單個單詞,而非短語)。它的列是:ID,Word。
我想知道一種快捷方式或優化方法,用「關鍵字」表中的關鍵字過濾出「阻止」表中列出的所有關鍵字。
例如,在 「關鍵字」 表,我有這樣的名單:
1 - 朋友在Facebook上
2 - 找朋友
- 與Facebook
3博客4 - 在Facebook上爲朋友做點什麼
5-編程很有趣
這裏是我的名單,以及在 「阻止」 表:
1 - 玩
2 - 朋友
3 - 找到
每當我取來自「關鍵字」表的關鍵字,應該使用「阻止」表中列出的詞進行過濾。因此,在這些列表,如果我從 「關鍵詞」 表中獲取數據,我應該得到這些結果:
2 - 與Facebook博客
5 - 編程是有趣
注意# 1不包含,因爲它包含單詞「朋友」(在「阻止」表中列出)。 #3也不包括在內,因爲它包含「find」。最後,#4不包含,因爲它也包含「朋友」。
我最大的問題是用什麼樣的方法來達到這個目的。請注意,我有大量的關鍵字(約1000萬條記錄)和至少100個被封鎖的單詞。我爲此開發了一個PHP + MySQL解決方案,但它確實很慢。
希望你能給我你的解決方案或建議。
向我們展示您的解決方案並詢問速度如何,比這個龐然大物可能更好 – 2012-02-01 11:50:30
您是否有索引表格?這將顯着提高桌子的表現... – 2012-02-01 11:51:17