【问题标题】:Use my mysql or text file to store data for fast access使用我的 mysql 或文本文件来存储数据以便快速访问
【发布时间】:2012-08-04 08:06:33
【问题描述】:

我需要每秒显示 100000 个手机号码的国家名称。所以

  1. 我需要从手机号码中找到前缀
  2. 从前缀,找到国家名称。

方法一:(Mysq1) 在数据库中存储前缀、国家名称并访问

方法二:(文本文件) 将国家名称存储在文本文件中。马来西亚前缀的示例是 60。因此将“马来西亚”存储在测试文件“60.test”中 获取国家名称使用 file_get_contents("country/60.txt")

哪种方法会快?

【问题讨论】:

  • 把所有可以轻松处理这么多数据的东西都保存在mysql中。您可以使用索引优化查询。
  • 方法 1,但是如果您对每个请求/图像激活进行多次查找,内存中的键控数组将再次更快。如果没有,那么不要担心 MySQL 时间,请求启动/关闭开销将占主导地位,是您的问题。

标签: php mysql database performance text


【解决方案1】:

假设一个“正常”的网络服务器,你有几个选择:

  1. 使用数据库。这将是快速和简单的。为了获得最大速度,请使用 Memory-tables 并尽可能使用持久连接(在正常情况下不推荐,当然在使用事务时也不推荐)
  2. 使用文件系统,可以工作,但不是它的设计目标,数据集的维护将是地狱,也不够快
  3. 使用 memcache 或类似的东西跨请求缓存内存结构(关联数组等),最初从文件或数据库加载它。

除非性能不够,否则我会选择选项 1,然后使用选项 3。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-10
    • 2020-04-16
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2015-04-07
    • 2021-05-17
    相关资源
    最近更新 更多