1

我一直在寻找一些论据,为什么将连接拆分为单个查询会比同时运行一个包含所有连接的单个查询更好/更糟。我在 PHP / MySQL 环境中工作。

假设所有表的索引都配置正确,我相信多个查询会比单个查询慢。

无论如何,当我正在寻找赞成和反对的人时,我将在下面列出我发现的内容,并对其他人的反馈非常感兴趣。

单个查询:

[pro] Mysql 能够优化查询

[pro] 减少网络流量

[pro] 更容易排序和限制结果,使用 mysql

[亲] MySQL可以做它擅长的事情

[con] 大查询

多个查询:

[pro] 较小的查询

[con] 缩小结果范围时需要遍历巨大的结果集(PHP)

[con] 分页变得很痛苦

[con] PHP 中需要更复杂的代码

我的感觉是单个查询更好/更快,但也许也取决于情况。这些表很简单,我们在交叉表上也有一些父/子连接和一些匹配查询。最大的表大约有 20 万条记录。

另一个让我想到这里的想法是 MySQL 连接在过滤记录时是可以的,但是当你有例如产品和产品类型时,产品类型将加载另一种机制,例如缓存所有产品类型,这样您也不需要加入产品类型。

4

0 回答 0