从this question开始,假设我使用文件存储我的HTML模板,我得到了一些答案。
在最近之前,我总是将'编译'模板保存为目录中的html文件(在根目录之上)。我的模板通常有两种类型的变量 - “静态”变量,在每次使用时都不会替换,但是在整个站点中使用 - 基本上为了便于维护,我决定更改站点名称,例如;和每个页面加载时都会发生变化的动态变量。
我总是习惯将这些文件保存在服务器上 - 但我的朋友指出了一些我忽略的东西:为什么在你有一个数据库调用时有5-10个文件系统调用?
我想知道哪个更有效率?从系统调用多个HTML文件或从数据库中调用多行模板(在一个查询/调用中)。
答案 0 :(得分:3)
不要将可编辑的HTML存储在数据库中
说真的,因为一旦你意识到你不再只是弹出一个文本编辑器,仅仅改变的维护开销就变得详尽无遗。
我参与了许多在数据库中都有HTML内容的项目,这是“找到内容所在的行”的常常噩梦,我真的很想 shot 那个人做好了。
此外,不要预先优化。如果你发现这个问题会减慢项目速度,那么就改变它。因为使代码穷尽无法维护以节省毫秒。但是设计好的代码应该很好,如果您需要更改内容来自哪里,应该很容易做到。
呃,真的不是,除非你只是想与记事本竞争。语法突出显示以及您在标准编辑器中可以获得的所有其他全部功能只会让您的开发人员在发现自己编辑网页时会发生自杀行为,他们会在黑色的黑白文本区域进行黑客攻击(更不用说您获得的额外乐趣)例如,不必担心实体编码等,尝试在html内容包含文本区域元素的文本区域中编辑html!)当然可以通过拥有来解决 适合编辑的Web界面 模板?
相反,在我使用过的任何代码的真实压力测试中,最大的减速一直存在于数据库中!主要是缓慢的CONNECT字符串,查询解析时间,额外的php< - > mysql交互。你并没有真正想要获得任何东西。文件系统查找接近于数据库索引查找,除了“你需要从磁盘中传输它”之外,你没有任何未知数,不需要担心表锁定!
你应该尝试类似缓存库的东西,强烈建议使用X-Cache,这更有可能为你带来明显的性能提升。
答案 1 :(得分:0)
我非常同意Kent Fredric的回答。但是,如果你真的想知道哪个更高效/更快,你就不能合理地期望得到答案。如果你想要这个答案,只有一种方法可以解决它:双向分析应用程序。