MySQL 8.0 リファレンスマニュアル


8.2.5.2 UPDATE ステートメントの最適化

更新ステートメントは、SELECT クエリーと同様に最適化されますが、書き込みの追加のオーバーヘッドがあります。 書き込みの速度は更新されるデータの量と更新されるインデックス数によって異なります。 変更がないインデックスは更新されません。

更新を速くするもう 1 つの方法は、更新を遅延して、あとで 1 行で多くの更新を実行することです。 複数の更新をまとめて実行することで、テーブルをロックした場合に、一度に 1 つずつ実行するよりはるかに高速になります。

動的な行フォーマットを使用する MyISAM テーブルの場合、行を長い合計長に更新すると、行が分割されることがあります。 頻繁にこれを実行する場合は、ときどき OPTIMIZE TABLE を使用することがきわめて重要になります。 セクション13.7.3.4「OPTIMIZE TABLE ステートメント」を参照してください。


関連キーワード:  テーブル, インデックス, InnoDB, ステートメント, 更新, 結合, クエリー, データ, 状態, データベース