【问题标题】:Which is faster? 1 Million lines array or database?哪个更快? 100 万行数组或数据库?
【发布时间】:2014-05-12 09:26:08
【问题描述】:

在 PHP 脚本中,我得到了一组不会经常更改的参数(邮政编码/地址),因此我希望将这个特定的 db 表移动到配置文件中。读取包含 100 万行以邮政编码作为键的数组的文件或 db 表以扫描并获取地址的剩余项目(街道、城市、州)会更快吗?

谢谢,

【问题讨论】:

  • 数据库总是更快。
  • 如果该字段被索引,那么肯定。
  • @Rupam 这并不总是正确的。根据您索引数据库的方式,它可能会更慢。
  • 如果您使用带有某种加速器的 PHP 并且在共享内存空间中有该数组,我会说使用数组是可以的。在任何其他情况下,数据库会更快。
  • 与其担心“更快”,尤其是没有定义你需要多快,不如担心哪个更容易维护,对程序员来说更容易,最重要的是,最有可能是正确的。 “更快”应该位于这三个优先级列表的底部。

标签: php mysql database performance file


【解决方案1】:

尝试将数据存储在数据库中而不是文件中。对于百万行我猜数据库是否比文件快。

如果你想获得性能,你可以使用像 APCCache 这样的缓存或者在数据库中使用索引而不是 zip 字段。

sphinx 是开源索引,它可以比文本搜索提供更快的性能。

【讨论】:

    【解决方案2】:

    根据邮政编码的数量,我会说使用 DB 而不是关联数组。您将能够搜索地址或邮政编码甚至 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2021-12-08
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多