gpt4 book ai didi

php - MySql在比较大的数据库上执行max(),min(),sum()的速度

转载 作者:可可西里 更新时间:2023-11-01 06:45:22 26 4
gpt4 key购买 nike

我有一个相对较大的天气数据数据库(130.000 多行),它的积累速度非常快(每 5 分钟添加一个新行)。现在,我在我的网站上发布一天的最小/最大数据,以及我的气象站的整个存在时间(大约 1 年)。

现在我想知道,如果我从创建额外的表中获益,这些最小/最大数据将被存储在哪里,而不是让 php 执行 mysql 查询来搜索天最小/最大数据和最小/最大数据为了我的气象站的整个存在。对 max()、min() 或 sum() 的查询(需要 sum() 来总结几个月的降雨量)比对表的简单查询花费更长的时间,该表已经包含这些最小值、最大值和总和值?

最佳答案

这取决于您的列是否被编入索引的天气。对于 MIN() 和 MAX(),您可以在 MySQL 手册中阅读以下内容:

MySQL uses indexes for these operations:

To find the MIN() or MAX() value for a specific indexed column key_col. This is optimized by a preprocessor that checks whether you are using WHERE key_part_N = constant on all key parts that occur before key_col in the index. In this case, MySQL does a single key lookup for each MIN() or MAX() expression and replaces it with a constant.

换句话说,如果您的列被索引,您不太可能通过非规范化获得很多性能优势。如果它们不是,您肯定会获得性能。

至于 SUM(),它在索引列上可能会更快,但我对这里的性能提升并不十分有信心。

请注意,您不应在阅读这篇文章后试图为您的专栏编制索引。如果你放置索引,你的更新查询将会变慢!

干杯!

关于php - MySql在比较大的数据库上执行max(),min(),sum()的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4528426/

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