gpt4 book ai didi

sql - 子查询是邪恶的吗?

转载 作者:行者123 更新时间:2023-12-03 18:30:16 25 4
gpt4 key购买 nike

这个问题是在 friend 的评论之后提出的。他说,当一个查询有很多子查询时,这是数据库存在设计缺陷的信号,必须避免。他还说,很多书都提出了同样的建议。

我部分同意,但我认为这些查询具有复杂的逻辑,需要大量子查询,或者,为了避免子查询,查询的物化 View 或大量数据冗余。

那么,关于子查询的真相是什么?必须始终避免它们吗?他们没有问题吗?它们是否表明数据库设计缺陷?是否有可能有一个数据库设计允许复杂查询而没有数据冗余?

最佳答案

不,子查询的存在并不一定意味着数据库模式设计不佳。

Correlated subqueries应该谨慎使用(即当内部条件指的是外部子句时)。

除此之外,子查询通常是解决问题的有用且自然的方法。我倾向于在可能的情况下使用连接而不是子查询。

许多查询优化器会将某些类型的子查询转换为连接。

关于sql - 子查询是邪恶的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8276178/

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