从最佳实践的角度来看,最好是在我的数据库中使用其他表中的导出数据字段创建一个新表,还是每次都使用 SQL 查询进行计算?
详细信息:
更准确地说,我有一个表ORDERS(id_order,date,time,sum)
,我想跟踪每日利润并在管理员每次从下拉菜单中选择它时预览它们。我应该在每次他要求时进行 SQL 查询,还是创建一个新表 PROFITS(date,day_profit)
,其中包含从其他表获取其值的衍生数据字段?
最佳答案
对于简单的计算 (a+b
),请在 SELECT
中进行。
对于定期计算结果的聚合(COUNT(sales), SUM(revenue)
),构建“汇总表”。
例如,按地区
分割的每日计数、总计等。否则需要GROUP BY
等。
请注意,您可以根据每日表计算每周或每月总计,因此无需构建更多表。
对于一千行,这并不重要;对于一百万或十亿人来说,这对于“数据仓库”的性能至关重要。
请记住,汇总表(对于数据库纯粹主义者来说)是禁忌,因为它保存“冗余”数据。因此,您的策略应该避免让它不同步。
关于mysql - 新表(带有衍生数据)或 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298700/