索引并不是越多越好!索引可以提升效率同样可以降低效率。
索引可以增加查询效率,但同样也会降低插入和更新的效率,甚至有些情况下会降低查询效率。
因为mysql优化器在选择如何优化查询时,会根据统一信息,对每一个可以用到的索引来进行评估,以生成出一个蕞好的执行计划,如果同时有很多个索引都可以用于查询,则会增加mysql优化器生成执行计划的时间,同样会降低查询性能。
2、禁止给表中的每一列都建立单独的索引
5.6版本之前,一个sql只能使用到一个表中的一个索引,5.6以后,虽然有了合并索引的优化方式,但是还是远远没有使用一个联合索引的查询方式好。
3、每个Innodb表必须有个主键
Innodb是一种索引组织表:数据的存储的逻辑顺序和索引的顺序是相同的。
每个表都可以有多个索引,但是表的存储顺序只能有一种 Innodb是按照主键索引的顺序来组织表的。
不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。
主键建议使用自增ID值。
以上是南昌网站建设开发公司百恒科技小编要跟大家聊到的一些关于MySQL数据库索引设计规范的内容,希望能够对大家有所帮助,想要了解更多关于这方面的内容,欢迎留言咨询百恒科技,百恒科技是一家有着16年丰富经验的专业网络开发公司,专注于南昌网站建设开发、南昌小程序开发等互联网服务!
相关文章推荐 : MySQL数据库字段设计规范是什么?
MySQL数据库基本设计规范是什么?