MySQL数据类型有哪些优化策略

更小的通常更好
  • 一般情况下尽量选择可以正确存储数据的最小数据类型
  • 数据类型越小通常越快,因为他们占用更少的磁盘、内存和cpu缓存
尽可能简单
  • 简单数据类型的操作通常需要更少的cpu周期,例如整数比字符操作代价更低,因为字符集和校对规则使得字符相比整型更复杂
  • 应该使用MySQL的内建类型date、time、datetime而不是用字符串来存储日期和时间。ip地址应该用整型来存储
尽量避免null
  • 通常情况下最好指定列为not null,除非需要存储null值
  • 因为如果查询中包含null的列对MySQL来说很难优化,会导致索引、索引统计和值比较都更复杂,并且会使用更多的存储空间
  • 当可为null的列被索引的时候,每个索引记录需要一个额外字节,在myisam中还可能导致固定大小的索引变成可变大小的索引
  • 如果计划在列上建索引,那么最好设计为not null的列
  • NULL长度是NULL
  • 通常能听到使用了NULL值的列将会使索引失效,但是IS NULL会使用索引

为什么MySQL不建议使用NULL作为列默认值?
MySQL 中NULL和空值的区别?

posted @   张三丰学Java  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-03-10 @ResponseBody
2021-03-10 @ControllerAdvice异常处理
2021-03-10 Linux最基础的命令
点击右上角即可分享
微信分享提示