Computer >> Máy Tính >  >> Lập trình >> MySQL

Có thể có một chỉ mục dựa trên hàm trong MySQL không?

Chỉ mục dựa trên hàm không thể thực hiện được trong các phiên bản MySQL dưới 5.6. Đầu tiên, để tạo chỉ mục dựa trên hàm trong MySQL, chúng ta sẽ tạo một bảng.

mysql> create table FunctionIndexDemo
   - > (
   - > FirstName varchar(100)
   - > );
Query OK, 0 rows affected (0.70 sec)

Hãy để chúng tôi xem cú pháp để tạo chỉ mục dựa trên hàm.

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

Đây là truy vấn.

mysql> create index indFirstName on FunctionIndexDemo (FirstName(6));
Query OK, 0 rows affected (0.56 sec)
Records: 0  Duplicates: 0  Warnings: 0

Để kiểm tra xem chỉ mục có tồn tại hay không.

mysql> SHOW INDEX FROM FunctionIndexDemo;

Đây là kết quả đầu ra.

+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| 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)