ホームページ  >  記事  >  データベース  >  MySQL で格納された生成カラムは MySQL 仮想生成カラムとどう違うのですか?

MySQL で格納された生成カラムは MySQL 仮想生成カラムとどう違うのですか?

王林
王林転載
2023-08-30 23:45:111009ブラウズ

MySQL 存储的生成列与 MySQL 虚拟生成列有何不同?

MySQL ストアド生成カラムと MySQL 仮想生成カラムの基本的な違いをいくつか示します。ディスク領域の観点から見ると、仮想生成列はディスク領域を占有しません。一方、生成された列を保存するとディスク領域が占有されます。

操作に関して

操作の観点から見ると、仮想生成列はインプレース操作です。つまり、すべてのデータを再コピーする必要はありません。テーブル定義が変更されたとき。一方、生成された列の保存はコピー操作であり、そのコストはテーブルに新しい列を追加するのと同じです。

計算に関して

仮想生成列では、読み取り操作および BEFORE トリガー中に値が動的に計算されます。一方、格納された生成列では、値は INSERT および UPDATE ステートメントごとに更新されます。

使用する場合

変更が頻繁に発生するデータでは、仮想列の使用を検討する必要があります。仮想列のコストは、常にテーブルを読み取り、サーバーが毎回列の値を計算する必要があることから発生します。一方、作成後にデータが大幅に変更されない、またはまったく変更されない状況では、ストアドカラムの使用を検討する必要があります。

以上がMySQL で格納された生成カラムは MySQL 仮想生成カラムとどう違うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。