Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
有150万行的表的mysql查询速度_Mysql_Query Optimization - Fatal编程技术网

有150万行的表的mysql查询速度

有150万行的表的mysql查询速度,mysql,query-optimization,Mysql,Query Optimization,从一个包含150万行的表中获取查询结果大约需要5秒钟。查询是从code=x的表中选择* 是否有提高速度的设置?或者我应该跳转到MySQL之外的另一个数据库吗?您可以为代码列编制索引。注意,这样做的代价是插入新行或更新现有行上的代码列的速度会稍微慢一点,因为索引也需要更新。在任何情况下,您都应该对改进进行基准测试,以确保它是值得的。其中code=x-需要INDEXcode 当许多列都很庞大时,选择*键:大型列不记录存储。因此,它们需要更长的时间才能取回。因此,明确列出您真正需要的列,希望省去一些庞

从一个包含150万行的表中获取查询结果大约需要5秒钟。查询是从code=x的表中选择*

是否有提高速度的设置?或者我应该跳转到MySQL之外的另一个数据库吗?

您可以为代码列编制索引。注意,这样做的代价是插入新行或更新现有行上的代码列的速度会稍微慢一点,因为索引也需要更新。在任何情况下,您都应该对改进进行基准测试,以确保它是值得的。

其中code=x-需要INDEXcode

当许多列都很庞大时,选择*键:大型列不记录存储。因此,它们需要更长的时间才能取回。因此,明确列出您真正需要的列,希望省去一些庞大的列

当涉及一个团体或限制时,有时最好这样做

SELECT lots of columns
    FROM ( SELECT id FROM t WHERE ... group-by or limit ) AS x
    JOIN t AS y USING(id)
    etc.

也就是说,从尽可能简单地查找ID开始,然后连接回原始表和其他表。您介绍的情况并非如此,但我担心您过于简化了它。

使用索引加快查询速度。索引会导致更长的查询时间。我的表格是关于汽车零件的,包含了每个车型上使用的每个零件的大量数据,列为:零件代码-品牌-模型-MAUIN类别-子类别。