MySQL一个索引最多有多少个列?真实的测试例子

时间:2021-12-21 02:22:15

最多16列。 

create table test ( 
f1 int, 
f2 int, 
f3 int, 
f4 int, 
f5 int, 
f6 int, 
f7 int, 
f8 int, 
f9 int, 
f10 int, 
f11 int, 
f12 int, 
f13 int, 
f14 int, 
f15 int, 
f16 int, 
f17 int 
); 

create index idx_test_16 on test (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16); 
create index idx_test_17 on test (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17); 

运行结果如下: 


mysql> create table test ( 
-> f1 int, 
-> f2 int, 
-> f3 int, 
-> f4 int, 
-> f5 int, 
-> f6 int, 
-> f7 int, 
-> f8 int, 
-> f9 int, 
-> f10 int, 
-> f11 int, 
-> f12 int, 
-> f13 int, 
-> f14 int, 
-> f15 int, 
-> f16 int, 
-> f17 int 
-> ); 
Query OK, 0 rows affected (0.06 sec) 

mysql> 
mysql> create index idx_test_16 on test (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16); 
Query OK, 0 rows affected (0.02 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

mysql> create index idx_test_17 on test (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17); 
ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed 
mysql>