gpt4 book ai didi

mysql - 使用 1 个 SQL 检索多条记录或使用多个 SQL 检索单个记录

转载 作者:行者123 更新时间:2023-11-29 11:03:27 28 4
gpt4 key购买 nike

我想问一下1相对于另一个是否有任何性能优势。

这是一个例子:

// suppose I want to retrieve 10000 different records
select *
from table_a
where from in (1,2,3,4,5,6 .... 10000)

// alternatively
select *
from table_a
where from=1 or from=2 or from=3 ... from=10000

相比

select * from table_a where from=1
select * from table_a where from=2
select * from table_a where from=3
.
.
select * from table_a where from=10000

在什么情况下,一个人会胜过另一个人?

这里简化了WHERE子句,它可能有嵌套的AND和OR子句。

最佳答案

除了您所涉及的简单示例之外,还有很多因素。

对于您的确切示例,1 个查询优于 1000 个查询,因为示例很简单并且针对一个字段。 主要因素是网络 I/O 操作、物理和/或逻辑读取等等。

但是如果你有更多的 WHERE 条件,特别是当有连接时,那么什么更好是值得怀疑的。 它取决于实际的数据库表、关系、索引设计、连接类型、表大小和(某某)...作为大多数情况下的总体方向,1 个 SQL 更好,但其他因素可能比这更重要。
一切都始于非常仔细的数据库设计。那里的错误(经常发生)会在以后付出很大的代价。 当数据库设计不好时,通常 1000 个查询会更好。

关于mysql - 使用 1 个 SQL 检索多条记录或使用多个 SQL 检索单个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819668/

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