Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 생성 열의 다른 유형은 무엇입니까?


다음과 같은 두 가지 유형의 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 열이 저장된 생성 열임을 나타냅니다.