mysql 表优化
2021-05-12 17:00:57 16 举报
AI智能生成
mysql 表优化步骤
作者其他创作
大纲/内容
mysql 使用b+tree
聚集索引
所有数据存放在叶子节点
每一页大小16K
合理设计表 可以增加每页存放数据和索引大小,提高效率
表设计
使用自增id做主键索引
列数据类型选择合理
确定大类型,数值,字符串,时间,二进制
有无符号,取值范围,定长变长
避免使用null(增加存储空间)
字符串的长度相差较大用VARCHAR;字符串短,且所有值都接近一个长度用CHAR
尽量少用BLOB和TEXT,如果实在要用可以考虑将BLOB和TEXT字段单独存一张表,用id关联
默认选择utf-8字符集
索引创建
创建组合索引 尽量满足绝大部分条件
创建 1到2个组合索引作为补充
唯一建 一定要创建唯一索引
组合索引要尽量包含order by 和 group by 条件(必须满足最左原则)
长字符串我们可以采用前缀索引
不要在小基数字段上建立索引
代码先行,索引后上
查询语句优化
优化索引到rang级别
调整条件以满足索引最左原则
统计聚合查询尽量走索引覆盖,避免二次回表查询
索引优先满足条件,然后满足order by ,group by
避免使用join(小表驱动大表,大表走索引),join 很难优化,扩展性很弱
少用or,in,exists
0 条评论
下一页