Php 模板读取的代价是什么:数据库查询还是文件读取?

Php 模板读取的代价是什么:数据库查询还是文件读取?,php,mysql,templates,file,Php,Mysql,Templates,File,我的问题相当简单;我需要读出一些模板(在PHP中)并将它们发送到客户端 对于此类数据,特别是text/html和text/javascript;从MySQL数据库或文件中读取它们的成本更高吗 亲切的问候 汤姆 inb4安全;我知道 注:我读过其他关于类似问题的主题,但它们要么与其他类型的数据有关,要么尚未得到回答。这真的没有足够的区别让你担心。您使用的是哪种音量?你每天的页面浏览量会超过一百万吗?如果不是的话,我会说选择哪一个对你来说最容易编码和维护,不要担心替代方案的费用,直到它成为一个问题

我的问题相当简单;我需要读出一些模板(在PHP中)并将它们发送到客户端

对于此类数据,特别是text/html和text/javascript;从MySQL数据库或文件中读取它们的成本更高吗

亲切的问候
汤姆

inb4安全;我知道


注:我读过其他关于类似问题的主题,但它们要么与其他类型的数据有关,要么尚未得到回答。

这真的没有足够的区别让你担心。您使用的是哪种音量?你每天的页面浏览量会超过一百万吗?如果不是的话,我会说选择哪一个对你来说最容易编码和维护,不要担心替代方案的费用,直到它成为一个问题


具体来说,如果您的模板当前为文件格式,我会将它们保留在那里,如果它们当前为DB格式,我会将它们保留在那里。

有许多因素会影响两者的价格

  • 我假设,由于它们是模板,它们可能不会经常更改。如果是这样,平面文件可能是更好的选择。任何写重的操作都应该在数据库中完成

  • 读取平面文件应该比从数据库读取数据快

  • 将它们放在数据库中通常会使多人编辑更容易


您可能会考虑使用MyCAMP读取模板后存储模板,因为从内存中读取总是比从DB或平面文件读取更快。

从数据库读取更昂贵,毫无疑问。 平面文件放在哪里?在文件系统上。在最好的情况下,它们最近被访问过,因此操作系统将文件缓存在内存中,只需读取内存,即可将它们放入PHP程序中发送到客户端。在最坏的情况下,操作系统必须先将文件从光盘复制到内存,然后程序才能使用它

数据库中的数据在哪里?在文件系统上。在最好的情况下,它们最近被访问过,所以MySQL在内存中有这个表。但是,您的程序无法直接获取该内存,它需要首先与服务器建立连接,来回发送身份验证数据,发送查询,MySQL必须解析并执行查询,然后从内存中获取该行并将其发送到您的程序。在最坏的情况下,操作系统必须从磁盘上的数据库表文件复制到内存中,MySQL才能获得要发送的行


正如您所看到的,这些场景几乎完全相同,只是在从内存或光盘中取出数据之前,使用数据库会增加连接和查询的额外开销

托比,我认为从数据库到文件或其他方式的转换并不是一个大问题,因为你只做了一次,并且同意使用你知道的方式!