MySQL数据类型及使用优化-复习笔记

** 原文链接 **

本文除了整理常用类型外,还整理了针对不用类型的使用技巧和注意细节,并给出提升查询效率的一些意见

整数类型

  • TINYINT: 8位
  • SMALLINT: 16位
  • MEDIUMINT: 24位
  • INT: 32位
  • BIGINT: 64位

整数类型有一个UNSIGNED属性,标识无符或者有符。比如对于TINYINT,存储范围上,无符0-255,有符则是-128-127。无符号和有符号类型使用相同的存储空间,具有相同的性能。

问题: INT(11)表示的是11位存储么?
这个对于大多数应用是没有用的,它只能限制客户端用来显示字符的个数,实际的存储还是32位。

实数类型

MySQL支持精确类型和不精确类型。

FLOAT和DOUBLE支持使用标准的浮点运算进行近似计算。
DECIMAL用于存储精确的小数,允许小说点两边最多65个数字。

CPU不支持对DECIMAL的直接计算但是迟迟浮点计算,MySQL则自己实现了DECIMAL的计算,换句话说,浮点计算要比精确计算快。

另外浮点类型在存储同样范围的值时,要比DECIMAL使用更少的空间。因为需要额外的空间和计算开销,应尽量避免使用精确的DECIMAL,除非不可避免。可以考虑使用int来代替DECIMAL,只需要扩大响应的倍数即可。

字符串类型

varchar 和 char

...

** 原创不易完整内容请看原文 **

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容