在MYSQL中运行并行查询

在MYSQL中运行并行查询,mysql,sql,Mysql,Sql,我们有一个范围查询,一次执行几个月之间的日期。虽然我们拥有的这种逻辑在使用不超过一天的日期范围时执行得更快。计划是在多天范围内执行查询,然后在应用程序级别进行计算 所以我想知道这里是否有人可以建议如何在MYSQL中并行运行所有这些查询。因为如果我在一个事务中这样做,我认为它会一个接一个地做,所以如果一个查询需要1秒,我们发送60个查询,它会在60秒内返回,这是没有效率的。有没有办法在一个连接中并行执行所有30个查询,或者我们需要为所有查询创建单独的连接? 射程可以是这样 (date betwee

我们有一个范围查询,一次执行几个月之间的日期。虽然我们拥有的这种逻辑在使用不超过一天的日期范围时执行得更快。计划是在多天范围内执行查询,然后在应用程序级别进行计算

所以我想知道这里是否有人可以建议如何在MYSQL中并行运行所有这些查询。因为如果我在一个事务中这样做,我认为它会一个接一个地做,所以如果一个查询需要1秒,我们发送60个查询,它会在60秒内返回,这是没有效率的。有没有办法在一个连接中并行执行所有30个查询,或者我们需要为所有查询创建单独的连接? 射程可以是这样

(date between '2010-02-25 ' and '2015-03-26')
(date between '2010-03-25 ' and '2015-04-26')
(date between '2010-04-25 ' and '2015-05-26')
(date between '2010-05-25' and '2015-06-26')

假设您使用的是PHP

您可以使用
multi\u query
进行此操作,请参见


但一般来说,如果您连续进行60次查询,至少如果数据库与所查询的网站位于同一台服务器上,这并不重要。响应时间将非常快,您不会注意到差异。如果数据库托管在
multi_query
以外的其他位置,可能是一个好主意

您使用的是php吗?如果您设法并行运行它们,那么速度较慢的部分是检索必须进行匹配/查询的数据。即使它们是顺序的或并行的,它们仍然来自同一个数据源——硬盘驱动器。问题的核心在于I/O设备速度慢,这意味着您应该调整MySQL实例,以便它能够快速获取需要处理的数据。这里I/O不是问题,我使用的是4000k iops驱动器,MySQL经过了微调。除非你能推荐某些可能涉及的参数。那么,如果你说它是经过微调的,没有发布配置、表结构和索引,
EXPLAIN
的输出和分析的输出是发现瓶颈的常用要素,我想您一定正确地认为并行执行它将产生性能,而不确定您是I/O还是CPU受限。祝你好运,并以你想要的方式完成这一切!