Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL GENERATED COLUMNS ประเภทต่าง ๆ มีอะไรบ้าง


เรามีคอลัมน์ที่สร้างโดย MYSQL สองประเภทดังนี้ –

คอลัมน์ที่สร้างเสมือน

ตามชื่อที่แนะนำ คอลัมน์ที่สร้างขึ้นประเภทนี้จะไม่ใช้พื้นที่ดิสก์ใดๆ สามารถสร้างได้โดยใช้หรือไม่ใช้คำหลัก 'เสมือน' เพื่อให้เข้าใจว่าเรากำลังอธิบายไว้ในตัวอย่างต่อไปนี้ −

ตัวอย่าง

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)

คำอธิบายข้างต้นแสดงว่าคอลัมน์ SideC เป็นคอลัมน์ที่สร้างขึ้นจริง

คอลัมน์ที่สร้างที่จัดเก็บไว้

ตามชื่อที่แนะนำ คอลัมน์ที่สร้างขึ้นประเภทนี้จะใช้พื้นที่ดิสก์ สามารถสร้างได้โดยใช้คำสำคัญ 'เก็บไว้' เพื่อให้เข้าใจว่าเรากำลังอธิบายไว้ในตัวอย่างต่อไปนี้ −

ตัวอย่าง

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)

คำอธิบายข้างต้นแสดงว่าคอลัมน์ SideC เป็นคอลัมน์ที่สร้างขึ้นโดยเก็บไว้