0

次のクエリを実行しています。

UPDATE extlinks
INNER JOIN sp_board using (title)
SET extlinks.board_id = sp_board.id

列と列 (プライマリ インデックス)とtitle同様に、両方の列がインデックスです。には 645 万行ありますが、約 370 万行あります。どちらのテーブルも Innodb です。board_ididextlinkssp_board

この参加を 1 時間以上前に開始しましたが、まだ完了していません。これは正常ですか?はいの場合、どのくらいの時間がかかると予想できますか? そうでない場合、何が間違っている可能性があるかについてのアイデアはありますか?

ティア!

4

1 に答える 1

1

大規模な更新の場合、数時間の実行時間は正常です。InnoDB を使用している場合、MySQL サーバーは更新のためにトランザクションを生成する必要があるため、必要に応じてロールバックできます。それには多くのオーバーヘッドがかかります。この操作中、サーバーはおそらく大量の RAM と IO を使用しています。

少し待ってください。

于 2013-02-28T12:11:32.893 に答える