1

私は彼らが巨大なデータを扱うプロジェクトに取り組んでいます。各テーブルで 100k 以上のデータが利用可能です。SQL更新クエリを実行する必要がありますが、機能しません。

この問題を解決するにはどうすればよいですか? ローカルホストでクエリが正常に実行され、データがほとんどありません。しかし、サーバーでは機能しません

私を助けてください。

UPDATE buzz_business_view b, daily_deals d
SET d.business_id = b.`Business ID`
WHERE d.phone = b.phone 

ありがとう

4

2 に答える 2

2

結合する列にインデックスが付けられていることを確認してください。

where制約を使用して、一度に数行を選択します。テーブル全体を一度に更新しようとしないでください。

テーブルの主キーに基づいてテーブルを複数のセクションに論理的に分割し、一度に1つのセクションを更新します。

于 2013-01-11T19:44:40.833 に答える
0

最適なパフォーマンスを得るには、JOIN述部に適切なインデックスを使用できるようにする必要があります。

CREATE INDEX ... ON buzz_business_view (phone,`Business ID`) ;

CREATE INDEX ... ON daily_deals (phone) ;

UPDATEステートメントが「機能しない」、ステートメントがエラーをスローする、ハングしているように見える、またはステートメントが正常に完了したが結果が期待どおりではない、と言った場合。

于 2013-01-11T21:13:48.427 に答える