php - mysqlの更新操作が遅い、その解決方法
仅有的幸福
仅有的幸福 2017-05-16 13:07:09
0
2
576

データベースには items テーブルがあり、その中の userid フィールドを更新する必要があります。
ステートメントは UPDATE items SET userid = xxx WHERE userid = 0 limit 1;
です。 >トランザクションの最適化を有効にしました 時間が経ちましたが、それでも 30,000 件の記事を更新するのに 3 分かかります。
朝、一時テーブルを作成し、userid->items 配列を保存してから、一時テーブルを継続的にクエリするための PHP スクリプトを作成して、操作してみます。
しかし、このように複数のスクリプトが実行されると、生き残れるのは 1 つだけです...そして監視効果は達成できません。
現在のアイデアは、更新操作を削除と挿入に分割することです。今試しています
また、PHP を開発している場合に質問したいのですが、rabbitmq の PHP バージョンのドキュメントが見つかりません。どのメッセージ キューを使用するのがよいでしょうか。 。 。

仅有的幸福
仅有的幸福

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

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

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

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート