함수 기반 인덱스는 MySQL 5.6 미만 버전에서는 불가능했습니다. 먼저 MySQL에서 함수 기반 인덱스를 생성하기 위해 테이블을 생성합니다.
mysql> create table FunctionIndexDemo - > ( - > FirstName varchar(100) - > ); Query OK, 0 rows affected (0.70 sec)
함수 기반 인덱스를 만드는 구문을 살펴보겠습니다.
create index index_name on yourTableName (column_name(IntegerSize));
다음은 쿼리입니다.
mysql> create index indFirstName on FunctionIndexDemo (FirstName(6)); Query OK, 0 rows affected (0.56 sec) Records: 0 Duplicates: 0 Warnings: 0
색인이 있는지 확인하려면.
mysql> SHOW INDEX FROM FunctionIndexDemo;
다음은 출력입니다.
+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | functionindexdemo | 1 | indFirstName | 1 | FirstName | A | 0 | 6 | NULL | YES | BTREE | | | YES | +-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 1 row in set (0.24 sec)