gpt4 book ai didi

mysql - 如何减少在同一个表的 "union all"中打开 myisam 表的时间?

转载 作者:行者123 更新时间:2023-11-29 09:18:59 24 4
gpt4 key购买 nike

我有一个包含 250 万行的 myisam 表,我使用 union all 来获得结果,如下所示:

(SELECT t.id FROM t WHERE type=1 LIMIT 10)
UNION ALL
(SELECT t.id FROM t WHERE type=2 LIMIT 10)
...
UNION ALL
(SELECT t.id FROM t WHERE type=25 LIMIT 10)

开表时间t约为6ms。

通过单个请求:

SELECT t.id FROM t WHERE type=1 LIMIT 10

时间约为1ms。

我不明白的是为什么mysql在union all中对同一张表花费更多的时间。它应该识别出这是同一张表,因此只是在第一个联合处打开。

有人可以帮助我减少“union all”中打开表的时间吗?

最佳答案

6ms 相当快了。您获取的数据量是原来的 25 倍,而所需的时间却只有原来的 6 倍。

我不再担心它,而是找到应用程序中真正的瓶颈在哪里。如果每个查询 6 毫秒是一个问题,您可能需要尝试减少每秒执行的查询数量。

关于mysql - 如何减少在同一个表的 "union all"中打开 myisam 表的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com