这是一个高级别的问题,因为我正在努力去理解这个概念。
我正在建立一个幻想联盟网页,只显示结果和一张排行榜。结果都很愉快地存储在mySQL表中,我的高级思维是在mySQL中创建联盟表,以便网页只需要一个表而不是自己做任何总和。
如何让mySQL计算表格?我是否制作了一个单独的php文件,然后在需要更新表时执行该文件?这一切都可以在mySQL中完成吗?
我觉得我很困惑,因为我的经验是基于像Excel这样的自包含和自动更新的程序。在mySQL中启动计算的是什么,我可以将其自动化吗?
提前致谢! 校准。
答案 0 :(得分:0)
在MySQL中,您可以选择字段功能作为数据。例如,
SELECT SUM(field1, field2) AS sumOfFields
SELECT AVG(field3, field4, field5) AS averageOfFields
答案 1 :(得分:0)
考虑这样一个事实:query cache可以反复提供昂贵查询的结果,而无需实际重新运行查询。需要注意的是,查询必须完全相同,并且必须分配足够的内存以使结果保留在内存中。
如果修改了计算中涉及的任何表,则会清除缓存的查询,因此您的结果会自动更新。
但是,如果您不想依赖于此,并且希望避免实时计算,则可以在从属表上使用更新触发器并在存储过程中执行计算并更新预先计算的表格。
答案 2 :(得分:0)
数据库的主要作用是以有意义的方式存储数据。
业务逻辑(包括大多数计算)应在从数据库中提取相关数据后完成。
有一些有用的数据库函数可以帮助(很多)检索数据,例如SUM()
,COUNT()
等等,大部分时间用于减少需要通过网络传输的数据量。
就excel而言,将数据库中的表视为包含Excel中原始数据的工作表。然后,您将获得一张或多张具有逻辑的工作表,这些逻辑可以聚合并根据原始数据计算您需要的任何内容,这些工作表将与数据库分开。
关于将业务逻辑放在数据库(即存储过程)或其外部仍然存在争议,你可以从我的答案中看到我所处的“侧面”,但你应该看看论证的另一面看看哪个更适合你。
你可能应该阅读一些关于SQL和MySQL的教程,以获得它的能力要点。