【问题标题】:MySQL performance with updateMySQL 性能与更新
【发布时间】:2012-03-24 09:38:39
【问题描述】:

在 MySQL 中哪种方法更快? 用 MySQL 和 PHP(Codeigniter) 实现二叉树。

1) 当只有一个查询可以更新很多行时(使用嵌套集插入树中的节点)

2)通过使用procedure和一些if else逻辑和循环,减少行数——也就是说,这种方法要更新的行数是前一种方法的一半。 (使用邻接列表实现树 - 向上直到根并更新每个根)

早些时候我问过这个问题binary-tree-using-php-mysql 但没有得到回应。这就是为什么问这个问题,这至少是我必须知道的。

请帮帮我!

【问题讨论】:

  • 如果第二种方法更新半行,应该会花费更少的时间,但是如果过程和循环逻辑是用php实现的,那么所需的时间可能会更长。

标签: php mysql database stored-procedures


【解决方案1】:

更新唯一需要更新的行显然更快。

我看不出为什么不能用一个查询来完成。

【讨论】:

  • 你能帮我解决这个问题吗??? stackoverflow.com/questions/9775720/…
  • 或一些资源,如何评估 MySQl 中替代解决方案的性能
  • 我不能。它没有现实生活中的问题。虽然抽象的描述可能与真正的需求相去甚远
【解决方案2】:

UPDATE在更新单个表中的大量行时要快得多,它只是用新数据重写表。

【讨论】:

    【解决方案3】:

    在我的 MySQL 服务器上,即使您使用包含许多更新的事务,第二种方法也是最快的解决方案。

    【讨论】:

    • 我不知道具体原因,但我认为它来自索引再生。
    猜你喜欢
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    相关资源
    最近更新 更多