硬编码的PHP数组与MySQL表,用于显示固定列表中的随机条目

时间:2014-07-22 13:55:00

标签: php mysql performance maintainability

我有一个固定的(很少变化的)~100个单词的列表。我想在每次重新加载时在我的HTML页面上显示一个随机单词。我应该将这些单词硬编码为PHP脚本中的数组,还是应该将它们放入MySQL表中并从中拉出一个随机条目?这里有哪些可能的性能/可维护性考虑因素?

5 个答案:

答案 0 :(得分:1)

这取决于,如果您想要轻松管理这些单词或让其他人管理这些单词,我会将它们放入数据库中。使用数据库相对于PHP数组具有极高的开销,尽管如果在本地托管,人类可能无法察觉它。

我不会使用除PHP数组,数据库表或文本文件之外的任何其他内容。我认为即使是文本文件也有点无关紧要,不应该使用 - 如果你想在文本文件中使用它,最好把它放在数据库中。

答案 1 :(得分:1)

我认为这取决于以下因素:

  1. “很少”很少见?像每年一次?或者也许每月一次?
  2. 你得到了多少请求,你预测了多少?
  3. 您是否有既定的开发/部署周期?意思是在更改某些代码和在生产服务器中实际更新之间的步骤。
  4. 您是否可以直接访问数据库?或者你需要设置和管理工具才能编辑列表吗?
  5. 如果您不将数据库用于其他任何事情,或者如果您每天收到数百万个请求,我不赞成非MySQL方案,以免为这样一个简单的目标添加数百万个查询。如果您对文件系统的访问相对简单,那么使用带有单词的本地文件就足够了。

答案 2 :(得分:0)

我不会选择MySQL因为它不需要一组不变的单词。如果您计划更改它们,请转到CSV文件[使用implode()explode()进行管理],或者如果您很少或从不更改它们,那么PHP数组将是最好的性能,0维护。

答案 3 :(得分:0)

如果你想通过一个很好的界面来改变单词,我会将它们存储在MySQL中。如果它们很少更改并且更新代码和数据库一样容易,那么您也可以将它们存储在PHP数组中。

答案 4 :(得分:0)

我会说使用硬编码作为php数组而不是mysql和其他连接部分,所以这很容易,你说你很少使用它。