【问题标题】:What is faster in PHP - JSON or string list?PHP 中哪个更快 - JSON 或字符串列表?
【发布时间】:2017-02-16 16:19:21
【问题描述】:

我们喜欢将布尔标志字段保存到user 对象以用于正确的系统。因此,如果用户可以这样做或那样。这将在我们的大多数控制器操作中使用。

为了获得良好的性能,我们问什么更快:

  1. 将所有带有 0 或 1 的标志保存在 JSON 格式的数组中,并且只需 用 key 询问数组是返回 0 还是 1
  2. 仅将“1”标志保存为字符串列表,如can_use_a,can_use_b,并询问字符串是否包含搜索到的键

你怎么看?有没有人有这方面的经验? 将有大约 50 到 100 个不同的右旗。

【问题讨论】:

  • 您的系统是否如此重要,您需要担心一两秒
  • 你有实际的性能问题吗?如果没有,不要过早优化。编写清晰易懂的代码。
  • @RiggsFolly 因为千兆秒是 31.7 年,我很确定这实际上是您想要优化的情况^^
  • @JimL 好点我提到微微秒

标签: php arrays json string performance


【解决方案1】:

json 数组会更快。

在第一种情况下,底层数据结构是一个 hashmap,它允许在恒定的摊销时间内检索一个元素。

对于第二种情况,必须进行顺序搜索才能找到值是否在列表中,运行时间为 O(n)。

不过,json 数组确实会占用更多内存。

【讨论】:

    【解决方案2】:

    我认为您需要使用 true 或 false 而不是 0 和 1。 使用布尔值要容易得多,而且它们更不容易出错。使用布尔值的另一个好处是您还可以检查它们的类型。

    【讨论】:

      猜你喜欢
      • 2020-05-25
      • 2011-10-10
      • 2011-04-21
      • 2015-10-16
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2010-10-12
      • 2011-07-19
      相关资源
      最近更新 更多