【发布时间】:2011-11-26 04:04:40
【问题描述】:
这个问题是在朋友的评论之后提出的。他说,当一个查询有很多子查询时,这表明数据库存在设计缺陷,必须避免。他还说许多书都提出了相同的建议。
我部分同意,但我认为这些查询具有复杂的逻辑,需要大量子查询,或者,为了避免子查询,查询的具体化视图或大量数据冗余。
那么,关于子查询的真相是什么?必须始终避免它们吗?他们没有问题吗?它们是否表明数据库设计缺陷?是否有可能有一个允许复杂查询而没有数据冗余的数据库设计?
【问题讨论】:
-
您指的任何特定数据库?
-
@ajreal 我使用 PostgreSQL,但我认为这适用于任何 RMDBS。