标签:哈希 写入 引擎 mvc 数据库优化 字符 区间 竞争 版本
01 引擎选择
目前广泛使用的是MyISAM和InnoDB两种引擎:
MyISAM
MyISAM引擎是MySQL 5.1及之前版本的默认引擎,它的特点是:
InnoDB
InnoDB在MySQL 5.5后成为默认索引,它的特点是:
总体来讲,MyISAM适合SELECT密集型的表,而InnoDB适合INSERT和UPDATE密集型的表。
02 分区
MySQL在5.1版引入的分区是一种简单的水平拆分,用户需要在建表的时候加上分区参数,对应用是透明的无需修改代码
对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成,实现分区的代码实际上是通过对一组底层表的对象封装,但对SQL层来说是一个完全封装底层的黑盒子。MySQL实现分区的方式也意味着索引也是按照分区的子表定义,没有全局索引
用户的SQL语句是需要针对分区表做优化,SQL条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,可以通过EXPLAIN PARTITIONS来查看某条SQL语句会落在那些分区上,从而进行SQL优化,我测试,查询时不带分区条件的列,也会提高速度,故该措施值得一试。
分区的好处
分区的限制和缺点
分区的类型
摘自:https://www.jianshu.com/p/336f682e4b91
标签:哈希 写入 引擎 mvc 数据库优化 字符 区间 竞争 版本
原文地址:https://www.cnblogs.com/kbian/p/12251816.html