您的位置:首页 > 数据库 > MySQL

mysql优化-- int类型解析及其优化

2016-03-28 17:36 645 查看
大家都知道mysql的数据类型非常多,但是在设计数据表的时候,要想有不错的性能,请注意一下几点:

1:数据类型越小越好:例如:如果只存0-200的整数 建议使用:tinyint unsinged 更好

更小的数据类型占用的占用的更少的磁盘,缓存,Cpu,并且处理数据时使用CPU的周期也更少

2:简单更好 例如:整数比字符串的操作更低,存储IP地址或者时间时候 少用字符串,因为字符集和校对规则使字符串比整形更复杂

3:尽量少使用NULL MySQL处理NULL字段很复杂,比较的时候,如果这个字段有索引,会耗时

下面说一下INT字段的优化:

int 有: tinyint 1个字节 存储范围 -128到127 unsigned 0-255

smallint 2个字节 存储范围 -32,768 到 32,767 unsigned 0-65535

mediumint 3个字节 存储范围 -8388608到8388607 unsigned 0-16777215

int 4个字节 存储范围 -2,147,483,648到 2,147,483,647 unsigned 0到4294967295

biginr 8个字节 存储范围 -9223372036854775808到9223372036854775807 unsigned 0-18446744073709551615

优化注意事项:

1:int(3) =int(10) int(n) 对数据存储的大小没有限制 ,限制存储范围的为数据类型 n:左右只是在你设置字段填充0的时候 不足N的位数的时候填充0

2:int(3) > tiny(3) int(3)在存储的时候占用磁盘要比 tinyint(3)要大 能选择tinyint 不选则samllint

3:可以用字段的unsigned提升存值范围,无符号和有有符号 使用相同的空间,有相同的性能。

4:如果一个字段中只有几个固定的整数 尽量使用枚举 不用 整数类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: