索引设计原则
索引设计原则
1.最左前缀原则 index column_name(10) 只对前十个字节做索引
ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes
mysql> alter table e engine=myisam;
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
所有索引列长度加起来不能>1000 or 3072,引擎不一样,长度限制有差别
innodb:索引列的最大长度(5.7版本是3072bytes,是字节数,不是字符)
myisam:最大索引列长度是1000
2.最少原则(一个索引能支持多个SQL,一张表控制在5个之内)
2.选择性好的列靠前原则
将:primary,unique notnull 放前边
对于:运算或者between and 或者 like 等放后边
index(a,b,c)
a:primary key
where a=1 and b like '%f%' and c=123 后面b 和 c将无法使用索引ref or eq_ref
3.频繁更新列尽量少放到索引里
4.多使用聚集索引和cover index
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341