gpt4 book ai didi

sql - 多查询与单查询(多查询有很多连接)

转载 作者:行者123 更新时间:2023-11-29 11:58:47 26 4
gpt4 key购买 nike

最近偶然发现了这种情况。在我的情况下,执行这两个查询可能是“轻松”的,我只想知道什么时候涉及到大数据集更好。总体上更好(性能、速度等)。

目前我对 2 1:N(有-多)关系进行单一查询并减少/转换应用程序中的数据。

看起来像这样转换/减少:

[
'field' => 'value',
'hasMany-1' => [],
'hasMany-2' => []
]

我实际上不知何故很想只做单独的查询,因为如果我有超过 2 个 hasMany 查询,它消除了减少它的痛苦,并且更具可读性,但代码目前可以工作,所以我下次可能会这样做。

妥协值得吗?同样,在我的情况下,它可能非常“轻”,因为我只有几行 (< 100),而且结构并不复杂,因为它还处于早期阶段。

但是我被问到以防下次我偶然发现这个问题,以及数据集何时变大。

** 编辑 **

所以我所说的“拥有很多”关系是:一个客户拥有很多电话宠物

我当前的查询返回这个结果(简化):

customer_id | pet_name | phone
1 | john | 1234
1 | john | 5678
2 | jane | 1357
2 | jane | 2468
2 | joe | 1357
2 | joe | 2468

我认为我的查询没问题。某些行重复似乎合乎逻辑,因为其他字段具有不同的值。

最佳答案

一般来说,您应该发出单个查询并让优化器为您完成工作。至少,这可以节省多次往返数据库和查询编译的时间。

有些情况下多个查询可以获得更好的性能,但我认为最好从单个查询开始。

关于沿多个多对多维度的连接,您有一个特殊的问题。没有必要“一般地”进行连接然后“减少”结果。有更有效的方法。

我建议您问另一个问题。提供示例数据、所需结果以及对您尝试的逻辑的解释。您或许能够学习一种更有效的方法来编写单个查询。

关于sql - 多查询与单查询(多查询有很多连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069958/

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