我有一個大型數據庫,其行數超過20,000行。我有兩個表歌曲和專輯:在Mysql數據庫中搜索字符串的速度更快
表歌曲包含songid,ALBUMID,SONGNAME和表專輯包含ALBUMID,ALBUMNAME
目前,當一首歌曲的用戶搜索只要他開始打字,我會立即給出結果。就像Google Instant一樣。
我現在用的就是:每當用戶類型我發送查詢字符串到我的後端PHP文件,有我執行該查詢在我的數據庫是這樣的:
SELECT * FROM songs, albums WHERE songs.albumid = albums.albumid AND songs.songname LIKE '%{$query_string}%';
但它是非常低效的使用數據庫查詢每次,也不可擴展,因爲我的數據庫每天都在增長。
因此,我希望同樣的功能,但速度更快,效率和可擴展性。
而且,我不希望它是精確的模式匹配,例如:
假設,如果用戶鍵入「的Rihana」而不是「蕾哈娜」,那麼它應該能夠給出相關的蕾哈娜結果。
謝謝。
感謝詹姆斯,我現在將使用帶索引的全文搜索。因爲我目前無法安裝這些搜索服務器。謝謝你的幫助。 – Kevindra 2011-06-01 09:34:18