0
我有一個網址表,我需要找到任何包含關鍵字的網址,例如「fogbugz」或「amazon」。如果關鍵字出現在網址的任何位置,我希望這是一個結果。MySQL - 需要搜索包含指定單詞的URL的URL表
現在,我想:
SELECT url FROM url WHERE url LIKE '%keyword%'
這是可預見的緩慢,甚至當URL被索引。
我很樂意爲替代方法快速建立索引,包括腳本方法。我正在考慮瀏覽每個網址,將它分成「/」和「_或 - 」字符,並將它們存儲在單獨的url2關鍵字表中。使用這種方法,URL:「http://www.foo.com/directory/article-name」將具有「foo」「目錄」「文章」「名稱」作爲其關鍵字。只是一個想法。
當然,如果在MySQL中有更簡單的方法來做到這一點,或者一般情況下,我更喜歡這樣做。
我想就此事提出您的建議!謝謝。
我剛剛創建了一個帶有url的MyISAM表格,類似'%whatever%'的搜索需要它在InnoDB中執行的時間的1/20。 – Sambo 2010-07-24 21:10:16
@Sambo:INNODB進行開銷 - 交易,關係完整性等。 – 2010-07-24 21:12:11
+1:擊敗我。 – 2010-07-24 21:12:38