MySQL表设计---数据类型优化

MySQL表设计---数据类型优化

  1. 在数据可控范围内,类型更小更好
  2. 使用简单数据类型,比如整形比字符串操作代价更小
  3. 尽量避免NULL,NULL值占用更多的空间,对含有NULL指的列创建索引也会使用更多的空间,且使索引变得复杂
  4. 对于整数INT来说,INT(1)和INT(10)存储是相同的
  5. 对于实数来说,浮点数float、double比decimal更省空间,并且服务器默认的计算类型为double,但是对于精度要求比较高的数据——如财务数据,则使用decimal,并注意位数对空间的影响。
  6. char保存定长字符串,varchar保存不定长字符串,varchar会多用一或两个字节来保存动态数据长度。varchar(5)和varchar(200)存储空间一样,但是varchar(5)性能更高。
  7. 对BLOB和TEXT进行排序时,不是对所有内容进行排序,应当指定每个列最长字节数max_sort_length,或者使用ORDER BY SUSTRING(column,length)
  8. 如果字符串内容变化小,应当推荐使用枚举替换字符串类型
  9. TIMESTAMP比DATETIME空间效率更高,但是TIMESTAMP存储时间范围更小,并且受MySQL服务器、操作系统以及连接的客户端的时区设置。
  10. 对于IP地址,推荐使用无符号整数来保存,并使用INET_ATON和INET_NTOA来进行转换,这样更节省空间,而不是使用char(15)来存储。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容