2千万行の表の日付時間フィールドの索引作成を試みました。その列の行の大部分(99%)はNULLです。その後、CPU使用率は最大100%まで増加しました。私は同じ理由を知ることができません。大部分のヌル値を持つ列のMysql Innodb索引付け
答えて
最適化として、InnoDBはインデックスの更新を「遅延」します。おそらく何が起こったのかは、この遅延した操作が起こってCPUが急上昇するということです。
詳細については、「InnoDB変更バッファリング」を検索してください。
CPUが急増するとインデックスを削除しました。インデックスを再作成する前に根本原因を確認する必要があります。デバッグのためのポインタ?完了するためのインデックス更新が遅れていますか? – Gargee
20M行 - スキャンしたり、ファイルを作成してソートしたり、ディスクに書き戻したりする必要があります。使用したコマンドと 'SHOW CREATE TABLE'を表示してください。 –
分/時間。テーブルのサイズ、 'innodb_buffer_pool_size'の設定、ドライブとSSDの回転など –
[mysqlインデックスのヌル値はありますか?](0120-325-002) – MikeJRamsey56