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 @ 2022-03-10 16:53  张三丰学Java  阅读(28)  评论(0编辑  收藏  举报