优化sql搜索时间

时间:2014-07-11 21:32:20

标签: mysql sql

我有一个关于如何通过mySQL数据库优化搜索时间的问题。整个数据库存储在包含以下列的1个表中:video_link,image_link,description,length和site。截至目前,我有1,200,000行,并且当完成所有操作后将扩展到10,000,000。当我运行搜索查询时:

SELECT * 
FROM  `VIDEOS` 
WHERE  `DESCRIPTION` LIKE  '%search_string%'

完成需要1.3808秒。这不是一个糟糕的搜索时间,但当行数翻倍时,它将是。我应该提到数据库正在网站上使用,搜索栏在数据库上运行查询并返回结果。大多数网站都有更多存储方式,搜索时间更短。有没有办法改善表现?

2 个答案:

答案 0 :(得分:1)

CREATE FULLTEXT INDEX
        fx_videos_description
ON      videos (description);

SELECT  *
FROM    videos
WHERE   MATCH(description, '+search_string' IN BOOLEAN MODE);

这仅适用于MySQL 5.6之前的MyISAM表

答案 1 :(得分:1)

如果你想进行类似的查询,你会想要在描述上有一个全文索引。

另外一般来说,选择*非常慢,所以如果你不需要每一列你应该减少它。

相关问题