2016-08-01 9 views
0

2千万行の表の日付時間フィールドの索引作成を試みました。その列の行の大部分(99%)はNULLです。その後、CPU使用率は最大100%まで増加しました。私は同じ理由を知ることができません。大部分のヌル値を持つ列のMysql Innodb索引付け

+0

[mysqlインデックスのヌル値はありますか?](0120-325-002) – MikeJRamsey56

答えて

0

最適化として、InnoDBはインデックスの更新を「遅延」します。おそらく何が起こったのかは、この遅延した操作が起こってCPUが急上昇するということです。

詳細については、「InnoDB変更バッファリング」を検索してください。

+0

CPUが急増するとインデックスを削除しました。インデックスを再作成する前に根本原因を確認する必要があります。デバッグのためのポインタ?完了するためのインデックス更新が遅れていますか? – Gargee

+0

20M行 - スキャンしたり、ファイルを作成してソートしたり、ディスクに書き戻したりする必要があります。使用したコマンドと 'SHOW CREATE TABLE'を表示してください。 –

+0

分/時間。テーブルのサイズ、 'innodb_buffer_pool_size'の設定、ドライブとSSDの回転など –