mysql列类型选择

我们前面通过show processlist观察了mysql的进程状态,找出有问题的SQL, 并且学习了利用 profiling分析SQL语句
另外我们还可以开启慢查询,来查看执行很忙的SQL。

如果语句等待时间长,就调优服务器参数(如缓冲区,线程数等);
如果语句执行时间长,可能是:表关联多、索引没有优化、语句没有优化

现在我们可以来学习具体的优化措施,首选来学习 列类型选择

列选择的原则:

1.字段类型优先级 int > date,time > char,varchar > blob
原因:int、time运算快,节省空间;char/varchar要考虑字符集的转换与排序时的校对集,速度慢;blob无法使用内存临时表。
2.够用就行,不要慷慨
原因:大的字段浪费内存,影响速度
3.尽量避免用null
原因:null不利于索引,要用特殊字节来标准,在磁盘上占据的空间其实更大

enum列的说明

1.enum列在内部是用整型来存储的
2.enum列与enum列相关联速度最快
3.enum列比 varchar 的弱势:在碰到与varchar关联时要转化,要花时间
4.优势在于,当char非常长时,enum依然是整型固定长度
总结:enum和enum类型关联速度比较快

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值