首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化:将本地文件或数据库用于HTML

优化:将本地文件或数据库用于HTML
EN

Stack Overflow用户
提问于 2008-11-15 11:02:50
回答 2查看 170关注 0票数 2

这是从this question获得的一些答案,假设我使用文件来存储我的HTML。

不久前,我一直将“编译”模板保存为目录中的html文件(根目录上方)。我的模板通常有两种类型的变量--“静态”变量,这些变量不是每次使用时都被替换,而是跨站点使用的--例如,如果我决定更改站点名称,基本上是为了便于维护;以及在每次页面加载时更改的动态变量。

我以前总是将这些文件保存在服务器上--但是我的朋友指出了一些我忽略了的东西:当您可以有一个数据库调用时,为什么有5-10个文件系统调用?

我想知道的是哪一个更有效率?从系统调用多个HTML文件或从数据库调用几行模板(在一个查询/调用中)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-11-15 11:10:49

不要将可编辑的存储在数据库中

说真的,因为一旦您意识到不能再打开文本编辑器,仅进行更改的维护开销就会变得非常严重。

我做过很多在数据库中有HTML内容的项目,这是“找到内容所在的行”的梦魇,我真的很想射杀制作它的人。

而且,不会过早地优化。如果您发现它是一个减缓项目进度的问题,那么请更改它。因为为了节省一毫秒的时间,使代码更容易维护。但是,设计的代码足够好,如果您需要更改内容的来源,以后应该很容易做到。

当然可以通过有一个适合编辑模板的web界面来解决?

呃,真的不是,除非你只是想和记事本竞争。语法突出显示和所有其他在标准编辑器中可以获得的全部功能,当开发人员发现自己编辑网页时,他们会发现自己编辑网页的方式是黑得可怕的白色(更别提担心实体编码等带来的额外乐趣了,例如,尝试在包含文本区域的文本区域中编辑html!)

论FileIO

虽然files可能是一个瓶颈,但是请记住,如果您安装了一个适当的linux,并且有足够的内存,那么一件被称为“磁盘缓存”的方便的事情就会生效,它实际上会将文件保存在内存中,因此文件IO就变成了简单的memcpy。

相反,在对我使用过的任何代码进行的实际压力测试中,最大的减速发生在数据库中,主要是很好的慢速连接字符串、查询解析时间、额外的php<->mysql交互。你并不是真的想得到任何东西。文件系统查找与数据库索引查找非常接近,除了“您需要从磁盘上流”之外,您没有任何未知的信息,没有需要担心的表锁定内容!

您可能应该尝试类似于缓存库的东西,强烈推荐使用caching,这更有可能给您带来明显的性能提升。

票数 3
EN

Stack Overflow用户

发布于 2008-11-15 11:23:53

我完全同意肯特·弗雷德里克回答的要点。但是,如果你真的想知道哪个更有效/更快,你就不能合理地期望在这里得到答案。如果您想得到这个答案,只有一种方法可以得到:同时对应用程序进行分析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/292415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档