Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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文件?_Php_Database_Performance - Fatal编程技术网

哪个更好?额外的数据库调用还是生成的PHP文件?

哪个更好?额外的数据库调用还是生成的PHP文件?,php,database,performance,Php,Database,Performance,我想在我的所有页面中添加一些与字符串键相关的静态信息。单个PHP页面使用一些由查询字符串过滤的信息。添加此信息的更好方法是什么?如果以后需要更多信息,生成一个100K或更大的PHP文件和一个关联的数组,或者添加一个具有此信息的其他DB表并查询它 第一个解决方案涉及每次加载100K文件,即使我只使用当前页面上的一些信息。另一方面,第二种方法为每个页面的呈现添加额外的数据库调用 如果有大量页面,哪一个成本较低?加载PHP文件或进行额外的数据库调用?除非显示它确实是一个瓶颈,无论是包含PHP文件还是查

我想在我的所有页面中添加一些与字符串键相关的静态信息。单个PHP页面使用一些由查询字符串过滤的信息。添加此信息的更好方法是什么?如果以后需要更多信息,生成一个100K或更大的PHP文件和一个关联的数组,或者添加一个具有此信息的其他DB表并查询它

第一个解决方案涉及每次加载100K文件,即使我只使用当前页面上的一些信息。另一方面,第二种方法为每个页面的呈现添加额外的数据库调用


如果有大量页面,哪一个成本较低?加载PHP文件或进行额外的数据库调用?

除非显示它确实是一个瓶颈,无论是包含PHP文件还是查询数据库,您都应该选择最易于维护的选项


我猜这是第二种选择。将其存储在数据库中。

将其存储在数据库中是一个更好的计划。使用该数据库,您可以提供更好的数据约束,更轻松地与其他数据交叉引用,并创建强大的关系。此时您可能需要,也可能不需要,但最终这是一个更加灵活的解决方案


数据的用途是什么?我想知道,一旦从数据库中提取数据,您所需的数据是否可以存储在会话变量/cookie中,这样您就不会在每个页面的呈现中查询数据库。

如果您要利用PHP文件,那么利用APC或其他操作码缓存将缓解性能问题,因为您的PHP文件只会每次文件更改时加载

然而,正如其他人所指出的,数据库是存储这些东西的最佳场所,因为它更容易维护,这应该是您首先要做的事情


在确保易于维护和应用程序正常工作的情况下,如果您需要性能提升,那么普遍接受的做法是将此静态数据缓存在内存中的键/值存储中,例如。这将使您能够快速访问大多数请求的静态值。

我不会将此信息称为静态信息。 对我来说,这只是一个从数据库中获取dome信息的例行调用,以及组装整个页面的其他调用。我错过了什么

我同意Dennis的观点,所有的优化都应该基于实际需求和分析。否则,它的效果可能相反


如果您想使用一些缓存,考虑为整个页面实现条件获取。 这很容易找到,做一个研究:用数据库和文件测量页面生成的时间。。。我会和DB tho一起去