我有一个大型数据库,其行数超过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