gpt4 book ai didi

sql-server - 查询查询?

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:24 26 4
gpt4 key购买 nike

假设我有五个表,分别命名为 table1、table2 ... table5。我已经通过连接表 1、2 和 3 创建了一个名为 query1 的 View /查询。

现在,我想创建一个需要连接所有五个表的 View 。我的问题是,使用 query1 并将 table4 和 table5 连接进去好吗,还是将五个表一张一张连接更好?

恐怕如果我加入两个 View ,或者一个 View 和一个或多个 View ,那么修改同一个 View 需要我重建整个查询,因为它依赖于该 View 。

最佳答案

如果您不希望您的查询依赖于 View ,那么您必须问问自己,首先为什么要创建该 View 。

如果您的 5 表查询以恰好的方式连接table1table2table3与相同表在 query1 View 中的连接方式相同,但实际上具有完全不同的含义,那么,在我看来,完全可以在您的第二个 View /查询中使用 query1

但是,如果您的第二个 View /查询要重现已在 query1 中实现的相同业务规则,那么我认为复制代码绝对没有意义。这部分是一个观点:通过创建它,如果需要多次使用相同的代码,您可以避免重复。当您更改 query1 时,其他相关查询和/或 View 相应地更改其输出是有意义的。

当然,有时 View 中的更改需要更改其他查询和/或使用它的 View 。如果这是您目前最关心的问题,那么我建议您花时间适本地规划您的 View ,以减少在您的数据库长期使用后发生此类更改的可能性。

因此,基本上,您的选择是要么在每个 View 中复制逻辑以避免它们相互依赖,要么在必要时积极使用您的 View ,但有可能遇到您必须仅仅因为一个特定的 View 需要被改变而进行一连串的改变。但是,正如我之前所说,如果您预先适本地设计您的 View ,您可以将这种风险降至最低。

关于sql-server - 查询查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980372/

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