Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 优化sql搜索时间_Mysql_Sql - Fatal编程技术网

Mysql 优化sql搜索时间

Mysql 优化sql搜索时间,mysql,sql,Mysql,Sql,我有一个关于如何通过mySQL数据库优化搜索时间的问题。整个数据库存储在一个表中,该表包含以下列:视频链接、图像链接、描述、长度和站点。到目前为止,我有1200000行,当所有这些都说了和做了的时候,我将扩展到10000000行。当我运行搜索查询时,如: SELECT * FROM `VIDEOS` WHERE `DESCRIPTION` LIKE '%search_string%' 需要1.3808秒才能完成。这不是一个糟糕的搜索时间,但当行数加倍时,它将是。我应该提到的是,该数据

我有一个关于如何通过mySQL数据库优化搜索时间的问题。整个数据库存储在一个表中,该表包含以下列:视频链接、图像链接、描述、长度和站点。到目前为止,我有1200000行,当所有这些都说了和做了的时候,我将扩展到10000000行。当我运行搜索查询时,如:

SELECT * 
FROM  `VIDEOS` 
WHERE  `DESCRIPTION` LIKE  '%search_string%'
需要1.3808秒才能完成。这不是一个糟糕的搜索时间,但当行数加倍时,它将是。我应该提到的是,该数据库正在网站上使用,搜索栏对该数据库进行查询并返回结果。大多数网站的存储空间更大,搜索速度更快。有没有办法提高性能

CREATE FULLTEXT INDEX
        fx_videos_description
ON      videos (description);

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

这只适用于MySQL 5.6之前的MyISAM表。如果您想进行类似的查询,您需要在描述上有一个全文索引


一般来说,select*的速度相当慢,因此如果不需要每一列,就应该将其缩减。

使用反勾号表示MySQL,因此我删除了SQL Server标记。请查看使用全文索引。这是优化这种查询的唯一方法:您可能还需要考虑外部的全文搜索解决方案,如狮身人面像或Lucene,如果您期望高流量的话。MySQL fulltext与那些相比性能相当差。Quassnoi看起来不错,但我使用hostgator作为托管服务,我不认为他们提供这些或任何类似的服务。Gordon fulltext工作得非常好,平均速度低于300m/s谢谢=)我该如何降低这一点。如果您正在搜索视频,是否不必查询所有描述以尝试查找匹配项?选择*不是指查询所有描述,而是指您想要返回的信息。我不知道您是如何应用这些信息的,但如果您并不总是需要所有这些信息,那么就不应该从SQL查询这些信息。老实说,如果您没有全文索引,它应该可以解决大多数性能问题。