English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL에서 함수 기반 인덱스가 가능한가요?

하위5.6MySQL 버전에서 함수 기반 인덱스를 사용할 수 없습니다. 먼저 MySQL에서 함수 기반 인덱스를 생성하려면 테이블을 생성해야 합니다.

mysql> create table FunctionIndexDemo
   - > (
   - > FirstName varchar(100)
   - > );

함수 기반 인덱스를 생성하는 문법을 보겠습니다.

create index index_name on yourTableName (column_name(IntegerSize));

이것은 쿼리입니다。

mysql> create index indFirstName on FunctionIndexDemo (FirstName(6));
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)
추천해드립니다