mysql5.6加索引_<源>MySQL5.6  最多能建多少个索引  以36个索引为例

实验过程及结构如下:

create table test7(id int,name1

varchar(100),name2 varchar(100),name3 varchar(100),name4

varchar(100),name5 varchar(100),name6

varchar(100))charset=utf8

engine=innodb;

create index test7_name1 on test7(name1);

create index test7_name2 on test7(name2);

create index test7_name3 on test7(name3);

create index test7_name4 on test7(name4);

create index test7_name5 on test7(name5);

create index test7_name6 on test7(name6);

************************创建6个单列索引没有问题*************************

create table test8(id int,name1

varchar(100),name2 varchar(100),name3 varchar(100),name4

varchar(100),name5 varchar(100),name6

varchar(100),name7

varchar(100),name8

varchar(100),name9 varchar(100),name10 varchar(100),name11

varchar(100),name12 varchar(100),name13 varchar(100),name14

varchar

(100),name15 varchar(100),name16

varchar(100),name17 varchar(100),name18

varchar(100))charset=utf8 engine=innodb;

create index test8_name1 on test8(name1);

create index test8_name2 on test8(name2);

create index test8_name3 on test8(name3);

create index test8_name4 on test8(name4);

create index test8_name5 on test8(name5);

create index test8_name6 on test8(name6);

create index test8_name7 on test8(name7);

create index test8_name8 on test8(name8);

create index test8_name9 on test8(name9);

create index test8_name10 on test8(name10);

create index test8_name11 on test8(name11);

create index test8_name12 on test8(name12);

create index test8_name13 on test8(name13);

create index test8_name14 on test8(name14);

create index test8_name15 on test8(name15);

create index test8_name16 on test8(name16);

create index test8_name17 on test8(name17);

create index test8_name18 on test8(name18);

**********************创建18个单列索引没有问题***************************

创建36个索引会不会出现问题?

create table test9(id int,name1

varchar(100),name2 varchar(100),name3 varchar(100),name4

varchar(100),name5 varchar(100),name6

varchar(100),name7

varchar(100),name8

varchar(100),name9 varchar(100),name10 varchar(100),name11

varchar(100),name12 varchar(100),name13 varchar(100),name14

varchar

(100),name15 varchar(100),name16

varchar(100),name17 varchar(100),name18 varchar(100),name19

varchar(100),name20 varchar(100),name21

varchar(100),name22

varchar(100),name23

varchar(100),name24 varchar(100),name25 varchar(100),name26

varchar(100),name27 varchar(100),name28 varchar(100),name29

varchar

(100),name30 varchar(100),name31

varchar(100),name32 varchar(100),name33 varchar(100),name34

varchar(100),name35 varchar(100),name36

varchar(100))

charset=utf8 engine=innodb;

create index test9_name1 on test9(name1);

create index test9_name2 on test9(name2);

create index test9_name3 on test9(name3);

create index test9_name4 on test9(name4);

create index test9_name5 on test9(name5);

create index test9_name6 on test9(name6);

create index test9_name7 on test9(name7);

create index test9_name8 on test9(name8);

create index test9_name9 on test9(name9);

create index test9_name10 on test9(name10);

create index test9_name11 on test9(name11);

create index test9_name12 on test9(name12);

create index test9_name13 on test9(name13);

create index test9_name14 on test9(name14);

create index test9_name15 on test9(name15);

create index test9_name16 on test9(name16);

create index test9_name17 on test9(name17);

create index test9_name18 on test9(name18);

create index test9_name19 on test9(name19);

create index test9_name20 on test9(name20);

create index test9_name21 on test9(name21);

create index test9_name22 on test9(name22);

create index test9_name23 on test9(name23);

create index test9_name24 on test9(name24);

create index test9_name25 on test9(name25);

create index test9_name26 on test9(name26);

create index test9_name27 on test9(name27);

create index test9_name28 on test9(name28);

create index test9_name29 on test9(name29);

create index test9_name30 on test9(name30);

create index test9_name31 on test9(name31);

create index test9_name32 on test9(name32);

create index test9_name33 on test9(name33);

create index test9_name34 on test9(name34);

create index test9_name35 on test9(name35);

create index test9_name36 on test9(name36);

**********************创建36个单列索引没有问题***************************

后续不再测试,因为单表索引过多反而会降低数据库的效率。关于数据库的索引,要结合博客

一起分析,选择合适的索引。

得出一些结论:

1)

InnoDB引擎单表的索引数量可以达到36个没有问题

2) InnoDB引擎,utf8编码单表中设置的单列索引最大长度不超过256个字符

3) InnoDB引擎,utf8编码单表中设置的的联合索引和的总长度不能超过256个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值