php - mysql进行update操作速度慢,如何解决
仅有的幸福
仅有的幸福 2017-05-16 13:07:09
0
2
478

数据库有个items表,现在要update其中的userid字段、
语句是UPDATE items SET userid = xxx WHERE userid = 0 limit 1;
已经开启事务来优化时间了,但感觉还是太慢了..更新3w条花费3分钟。
早上尝试建立个temp表,将userid->items数组存入,然后写php脚本不停的查询temp表,然后操作。
但是这样执行多个脚本的时候,只有一个能活下来...而且达不到监控的效果.
现在的想法是,将更新操作分成删除和插入..正在尝试
另外问一下,php开发的话,用什么做消息队列比较好..rabbitmq的php版,找不到文档。。。

仅有的幸福
仅有的幸福

全員に返信 (2)
我想大声告诉你

更新の代わりに Replace into を使用することも、重複キーの更新で Insert into... を使用してバッチで更新することもできます。

さらに、Rabbitmq PHP バージョンのデモが添付されています:
https://github.com/yuansir/ra...

いいねを押す+0
    仅有的幸福

    キューとしてredisを使用する これが一般的に使用されます。制限があるため、SQL が遅くなっている可能性があります。更新するすべてのデータの ID を取り出して更新してみると、かなり改善されます。

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!