Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL中的计算,如何控制它_Php_Mysql_Sql - Fatal编程技术网

Php SQL中的计算,如何控制它

Php SQL中的计算,如何控制它,php,mysql,sql,Php,Mysql,Sql,这是一个更高层次的问题,因为我正在努力理解这个概念 我正在建立一个幻想联盟网页,它只显示结果和一个联盟表。结果都愉快地存储在一个mySQL表中,我的高级想法是在mySQL中创建排行表,这样网页只需请求一个表,而不必自己进行任何求和 如何让mySQL计算表?我是否需要创建一个单独的php文件,然后在需要更新表时执行该文件?这一切都可以在mySQL中完成吗 我想我很困惑,因为我的经验是基于一个像Excel这样的程序,它是自我包含和自动更新的。在mySQL中,是什么启动了计算,我可以自动执行吗 提前谢

这是一个更高层次的问题,因为我正在努力理解这个概念

我正在建立一个幻想联盟网页,它只显示结果和一个联盟表。结果都愉快地存储在一个mySQL表中,我的高级想法是在mySQL中创建排行表,这样网页只需请求一个表,而不必自己进行任何求和

如何让mySQL计算表?我是否需要创建一个单独的php文件,然后在需要更新表时执行该文件?这一切都可以在mySQL中完成吗

我想我很困惑,因为我的经验是基于一个像Excel这样的程序,它是自我包含和自动更新的。在mySQL中,是什么启动了计算,我可以自动执行吗

提前谢谢!
Cal.

在MySQL中,您可以选择字段的函数作为数据。比如说,

SELECT SUM(field1, field2) AS sumOfFields
SELECT AVG(field3, field4, field5) AS averageOfFields

请考虑这样一个事实,即可以重复提供昂贵查询的结果,而无需实际重新运行查询。需要注意的是,查询必须完全相同,并且必须分配足够的内存,以便结果保留在内存中

如果修改了计算中涉及的任何表,则会清除缓存的查询,从而自动更新结果


但是,如果您不希望依赖于此,并且希望避免实时计算,则可以对依赖表使用更新触发器,在存储过程中执行计算,并更新预计算表。

数据库的主要作用是以合理的方式存储数据

包含大多数计算的业务逻辑应该在从数据库获取相关数据后完成

在检索数据时,有一些有用的数据库功能可以提供很多帮助,例如SUM、COUNT…等,大多数情况下,它用于减少需要通过网络传输的数据量

对于excel,可以将数据库中的表想象为excel中包含原始数据的工作表。然后,您将拥有一个或多个具有逻辑的工作表,这些工作表可以根据原始数据聚合和计算所需的任何内容,这些工作表将与数据库分离

关于将业务逻辑放在数据库(即存储过程)中还是放在数据库之外,仍然存在争论。从我的回答中,您可能可以看出我站在哪一边,但您应该查看争论的另一边,看看哪一边更适合您


您可能应该在谷歌上搜索一些关于SQL和MySQL的教程,以了解其功能的要点。

您能提供一些您将要计算的计算和数据的示例吗?好的,谢谢所有答案。听起来有两种选择:1。更新预计算表的存储过程。这个过程有一个触发器,所以在我的例子中,我只能在知道有变化时调用触发器。2.每次请求页面时计算表格。这听起来像是不必要的努力,如果表格只会在我的案例每两周发生变化时更新?我很感激我们讨论的数据量很小,但如果我的抱负扩大,我想了解“最佳实践”!