gpt4 book ai didi

mysql - 我使用这两个查询中的哪一个查询性能最好?

转载 作者:行者123 更新时间:2023-11-29 05:48:42 24 4
gpt4 key购买 nike

我有两个查询要做一份工作

查询 1:

SELECT * FROM table1 where id = 1
UNION ALL
SELECT * FROM table2 where id = 5
UNION ALL
SELECT * FROM table1 where id = 70
UNION ALL
SELECT * FROM table2 where id = 3
UNION ALL
SELECT * FROM table1 where id = 90

和查询 2:

SELECT * FROM table1 where id IN (1,70,90)
UNION ALL
SELECT * FROM table2 where id IN (5,3)

这两个查询哪个更快?

如果您的答案是第二个查询。

我在许多不同的地方使用过查询 1。在项目中,差异如此之大以至于我会用第二个查询替换所有地方吗?

最佳答案

第二个版本更简洁,而且应该更快,因为它只需要实际执行两个查询,而不是第一个版本,后者对每个 id 值执行单独的查询。

假设 id 是两个表中的主键,那么 MySQL 也可以使用聚簇索引来更快地查找匹配记录。

关于mysql - 我使用这两个查询中的哪一个查询性能最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963351/

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