MySQL创建复合索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL创建复合索引相关的知识,希望对你有一定的参考价值。
在mysql数据库中,创建复合索引的时候,不知道在创建过程中哪个列在前面,哪个列该在后面,用以下方式即可:
select count(distinct first_name)/count(*) as first_name_selectivity,
count(distinct last_name)/count(*) as last_name_selectivity,
count(*)
from actor\G
mysql> select count(distinct first_name)/count(*) as first_name_selectivity,
-> count(distinct last_name)/count(*) as last_name_selectivity,
-> count(*)
-> from actor\G
*************************** 1. row ***************************
first_name_selectivity: 0.6400
last_name_selectivity: 0.6050
count(*): 200
1 row in set (0.01 sec)
first_name_selectivity: 0.6400,因此 first_name 列的选择性更高,所以答案将其作为索引列的第一列:
mysql> alter table yoon add key (first_name,last_name);
以上是关于MySQL创建复合索引的主要内容,如果未能解决你的问题,请参考以下文章
如何修复“MySQL 错误:1822。缺少约束索引”关于创建复合外键