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 | YES |
+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
1 row in set (0.24 sec)
おすすめ