为了账号安全,请及时绑定邮箱和手机立即绑定

如何快速执行多个mysql查询

如何快速执行多个mysql查询

PHP
繁花如伊 2021-10-22 14:28:13
我正在使用多个 MySQL 选择查询来获取结果。第一个查询的输出是第二个查询的输入,像这样,我使用了十五个(当时有 15 个查询)。因为我想直到第15阶段才有结果。当我执行所有这些查询时,获取输出需要太多时间,例如,产生结果需要超过 15 到 20 分钟。基本上,我的代码中有 15 个级别,我正在计算每个级别的总量,这就是我为每个级别使用 1 个查询的原因。所以总级别是15,我的MySql查询是15。我有一个数据库表,其中有 4 列 -ID, MemberID, SponseredID, Amount.  我准备了查询来计算每个级别的金额的总和。你可以检查下面的代码:SELECT SUM(amt) as level1 FROM adm WHERE sid='MT00001';SELECT SUM(amt) as level2 FROM adm WHERE  sid IN (SELECT mid                FROM adm                WHERE sid='MT00001');SELECT SUM(amt) as level3 FROM adm WHERE sid IN (SELECT mid               FROM adm               WHERE sid IN (SELECT mid                             FROM adm                             WHERE sid='MT00001'));SELECT SUM(amt) as level4 FROM adm WHERE sid IN (SELECT mid               FROM adm               WHERE sid IN (SELECT mid                             FROM adm                             WHERE sid IN (SELECT mid                                           FROM adm                                          WHERE sid='MT00001')))这一直到第 4 级,而且这 4 个查询也需要太多时间来执行。我得到了结果,但执行所有 15 个查询需要花费太多时间,大约 15 分钟。
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

不要使用IN ( SELECT ... ); 它曾经表现得很差。

而是使用JOINEXISTS(),具体取决于您正在执行的操作的详细信息。


查看完整回答
反对 回复 2021-10-22
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信