优化 MySQL table 以获得更快的 select 操作

Optimizing a MySQL table for faster select operation

我有一个 MySQL table,其中包含一家公司两年来来自其不同客户的总收入,以对当前年度收入和未来收入预测进行分析,具有这些时间字段,

它有按月的数据,也有按季度的数据(我可以通过汇总月份来获得这些数据,但是为了更快 select 季度添加了行..我在图表上显示)和以此类推。

现在为了减少一些数据计数并优化更快 select,我删除了 MonthID、QtrID 和 YrID。并添加了一个新列 Frequency,其值类似于

等等,它已将我的行数减少了一半,但我仍然觉得它不是很优化,一些专家的建议将非常感谢,还有什么可以做的。我的 table 有大约一百万条记录。

拥有数百万行的数据仓库需要 "Summary Tables"。有了它们,您可以获得显着的加速;通常是 10 倍。

我会按月(根据您的规范)构建摘要 Table(s),然后汇总它们以获得 Qtr 和 Year "reports"。

我有两个更详细的博客: http://mysql.rjweb.org/doc.php/datawarehousehttp://mysql.rjweb.org/doc.php/summarytables

一百万行对于 DW 应用程序来说有点小。这些博客针对的是那种规模,再加上更大的数据仓库(10 多行,甚至 100 多行,数百万行)。 (对于 10 亿行,需要使用更多技术。)

如果您还有其他困难,请提供 SHOW CREATE TABLE 和一些暂定的 SELECT。这些会帮助我指出细节。