MySQLに保存されているGENERATEDCOLUMNSは、MySQLの仮想GENERATED COLUMNSとどのように異なりますか?
以下は、MySQLに保存されたGENERATEDCOLUMNSとMySQLの仮想GENERATEDCOLUMNSの基本的な違いです-
ディスク容量の点で違いが見られる場合、仮想的に生成された列はディスク容量を使用しません。一方、保存された生成された列はディスク領域を占有します。
操作の点で違いが見られる場合、仮想生成列はINPLACE操作です。つまり、すべてのデータを再度コピーしなくても、テーブル定義が変更されます。一方、保存された生成された列はコピー操作であり、テーブルに新しい列を追加するのと同じコストがかかります。
仮想的に生成された列では、値は読み取り操作中およびトリガーの前にオンザフライで計算されます。一方、格納された生成列では、値はすべてのINSERTおよびUPDATEステートメントで更新されます。
変更がかなりの回数発生するデータには、仮想列の使用を検討する必要があります。仮想列のコストは常にテーブルを読み取ることから発生し、サーバーはその列の値がどうなるかを毎回計算する必要があります。一方、作成後にデータが大幅に変更されない場合、またはまったく変更されない場合は、保存された列の使用を検討する必要があります。
-
ORDER BY?を使用して、2つの異なるテーブルから2つの異なる列を表示します。
このために、ORDERBY句とともにUNIONを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 ( Amount int ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(234); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable1 val
-
MySQLの異なるテーブルの列を連結します
CONCAT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.90 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('Chris'); Query OK, 1 row affe