在PHP中,哪个更快 - 读取文件或数据库调用?

Cor*_*rey 12 php database optimization performance file-io

我有一个用PHP构建的Web应用程序,Zend在LAMP堆栈上.我有一个4000字的列表,我需要加载到内存中.单词有类别和其他属性,我需要每次加载整个集合.想想一个字典对象.

存储快速召回的最佳方法是什么?一个包含XML,JSON或序列化对象的平面文件?一个包含大量XML,JSON或序列化对象的数据库记录?或者数据库表中有4000条记录?

我意识到不同的服务器配置会有所作为,但假设一个开箱即用的共享主机方案,或本地WAMP或其他一些简单的设置.

Ale*_*sky 10

如果您正在使用APC(或类似的),您最快的结果可能是将单词列表直接编码到PHP源文件中,然后只需要require_once().

  • 如果我将其保存在json文件中并确实将json文件解码为一个数组,那么APC仍然会受益吗?还是这种方法会慢得多? (2认同)

mhi*_*tza 5

在理想的系统中,我会说内存(memcached),磁盘和数据库.但是根据设置,数据库可能比磁盘快几倍,因为结果可能会粘在查询缓存中.

这一切都取决于环境; 如果这是至关重要的,你应该测量它.否则将它放在您认为更容易接近的地方.

  • “如果是那么关键,则应该对其进行衡量。” -我完全同意 (2认同)