Computer >> Máy Tính >  >> Lập trình >> MySQL

Các loại CỘT ĐƯỢC TẠO MySQL khác nhau là gì?


Chúng tôi có hai loại cột được tạo MYSQL như sau -

CỘT ĐƯỢC TẠO HÌNH ẢNH

Như tên cho thấy, loại cột được tạo này sẽ không chiếm bất kỳ dung lượng đĩa nào. Nó có thể được tạo bằng hoặc không sử dụng từ khóa "virtual". Để hiểu rõ, chúng tôi sẽ minh họa nó trong ví dụ sau -

Ví dụ

mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)));
Query OK, 0 rows affected (0.44 sec)

mysql> Describe Triangle;
+-------+--------+------+-----+---------+-------------------+
| Field | Type   | Null | Key | Default | Extra             |
+-------+--------+------+-----+---------+-------------------+
| SideA | double | YES  |     | NULL    |                   |
| SideB | double | YES  |     | NULL    |                   |
| SideC | double | YES  |     | NULL    | VIRTUAL GENERATED |
+-------+--------+------+-----+---------+-------------------+
3 rows in set (0.00 sec)

Mô tả ở trên cho thấy rằng cột SideC là một cột được tạo ảo.

CỘT ĐƯỢC TẠO ĐƯỢC LƯU TRỮ

Như tên cho thấy, loại cột được tạo này sẽ chiếm dung lượng đĩa. Nó có thể được tạo ra bằng cách sử dụng từ khóa "lưu trữ". Để hiểu rõ, chúng tôi sẽ minh họa nó trong ví dụ sau -

Ví dụ

mysql> Create table triangle_stored(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)) STORED);
Query OK, 0 rows affected (0.47 sec)

mysql> Describe triangle_stored;
+-------+--------+------+-----+---------+------------------+
| Field | Type   | Null | Key | Default | Extra            |
+-------+--------+------+-----+---------+------------------+
| SideA | double | YES  |     | NULL    |                  |
| SideB | double | YES  |     | NULL    |                  |
| SideC | double | YES  |     | NULL    | STORED GENERATED |
+-------+--------+------+-----+---------+------------------+
3 rows in set (0.00 sec)

Mô tả trên cho thấy rằng cột SideC là một cột được tạo được lưu trữ.