Innodb数据库优化-表结构优化汇总

1.优化表大小

表列:用小int代替int,节省四分之一空间;索引行采用not null,避免存储引擎判断是否Null,可以设置一个默认值。如果必须采用Null值可以使用。

表索引:主键索引越短越好,主键索引存在于每一个二级索引中,如果主键索引较短,则节省可观的空间。

创建需要提升性能的索引,如果读取表总是通过若干列,那么最好创建一个联合索引而不是每个列都创建索引,联合索引的第一个列应该是频繁使用的列以提升索引使用率。

如果有一个长string列有唯一的前缀,那么创建索引时应该索引这些前缀而不是全列索引,越短的索引越快,不仅是因为这些索引需要越少的磁盘空间,而且缓存空间命中率高,从而减少磁盘查找。

表设计:尽量保持表列不重复,如果读取速度优于磁盘空间,可以冗余一部分信息避免join表

 

2.优化表数据类型

对于唯一ID或者其他列可以用数字或者字符串表达的,优先选择数字,由于相较于字符串较大的数字在磁盘存储只需要几个字节,因此传输和比较更快,占用的内存更少。

在数据库中,数字数据比字符串存储格式更紧凑,需要更少的磁盘访问,读取数字数据比字符串速度更快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值