mysql数据库部分字段类型的选择

数据库类型的选择对数据库的性能影响很大

1 . 数据类型会影响存储空间的开销

2 . 数据类型会影响数据查询性能

所以当一个数据类型可以有多种选择多种类型的时候,应该优先考虑数字类型,其次是日期或二进制类型,最后应该是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。

原理:在对数据进行比较(查询条件,JOIN条件及排序)操作时:同样的数据,字符处理往往比数字处理慢,而且在数据库中,数据的处理是以页为单位,列的长度越小,数据类型占用的空间越小,利于性能的提升。

下面是字段类型所占的字节大小

Tinyint,SmallInt,Mediumint,Int,Bingint该如何选择

1 .从 0 到 255 的整型数据。存储大小为 1 字节。适合使用Tinyint

2.从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。适合使用smallint

3.从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。适合使用int

4.从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。适合使用bigint

char与varchar如何选择

1.如果列中要存储的数据的长度差不多是一致的,则应该考虑char,否则应该考虑用varchar.

2.如果列中最大数据的长度小于50Byte,则一般也考虑使用char(当然,如果这个列很少用,则基于节省空加你和减少I/O的考虑,还是可以使用varchar)

3.一般不宜定义大雨50Byte的char类型列。

注意:utf8每一个字符时3Byte

decimal和float如何选择

1.decimal用于存储精确数据,而float只能用于存储非精确数据,故精确数据最好使用decimal类型

2.由于float的存储空间的开销一般比decimal小(精确到7为小数只需要4个字节,而精确到15位小数只需要8个字节)故非精确数据类型建议使用float

时间类型如何存储

1.使用int来存储时间字段的优缺点

优点:字段的长度比datetime小

缺点:使用不方便,需要函数进行转换

限制:只能存储到2038-1-19 11:14:07 即2^32为2147483648

2,需要考虑需要存储时间的粒度

年 月 日 小时 分钟 秒 周

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

相关阅读更多精彩内容

  • bit 整型 bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或...
    mank阅读 1,366评论 0 2
  • 字段类型数值MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对...
    小慕先森阅读 1,253评论 0 1
  • MySQL数据库对象与应用 2.1-MySQL数据类型 库建立好之后基本不动,和我们接触最频繁的是表. 建表就是声...
    极客圈阅读 2,250评论 0 8
  • 文/云中荷风 昨日 刚刚下过一场雷雨 今日多云 云朵 不再洁白 大片大片有些灰暗 太阳 被遮挡在云后 没有了热烈...
    云中荷风阅读 373评论 20 48
  • 翻看一下日历,猛然发现马上又长一岁。岁岁年年人相同,只是年华老去罢。本来不是感慨人生的年纪,却突然发现这些年白白浪...
    张朝龙阅读 198评论 0 1

友情链接更多精彩内容