gpt4 book ai didi

php - MySQL 中的行明智 SUM 与列明智 SUM

转载 作者:行者123 更新时间:2023-11-29 13:40:50 28 4
gpt4 key购买 nike

我有一个 tableA,其中包含以下结构

enter image description here

我将此结构修改为如下所示的tableB,以减少行数,并且类别是固定长度的

enter image description here

假设我在 tableA 中修改为新结构后有 210 万条数据,tableB 仅包含 70k 行

在某些情况下,我想将所有值求和到表中,

QUERY1: SELECT SUM(val) AS total FROM tableA;

vs

QUERY2: SELECT SUM(cate1+cate2+cate3) AS total FROM tableB;

与 QUERY2 相比,QUERY1 的执行速度更快。

与 tableA 相比,tableB 包含更少的行

按照我的预期,QUERY2 更快,但 QUERY1 是最快的。

帮助我理解为什么 QUERY2 中的性能会降低?

最佳答案

MySQL 经过优化以加快关系操作的速度。没有太多努力来加速 MySQL 可以执行的其他类型的操作。 Cate1+Cate2+Cate3 是一个完全合法的操作,但没有什么特别的关系。

就数据关系模型而言,Table1 实际上比 Table2 更简单,尽管 Table1 的行数更多。值得注意的是,Table1 符合第一范式,但 Table2 不符合。这三列确实是一个重复的组,尽管看起来它们不是。

因此,第一范式在性能方面对您有好处(大多数时候)。

关于php - MySQL 中的行明智 SUM 与列明智 SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099503/

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