《高性能MySQL》阅读-MySQL选择数据类型二、

承接:《高性能MySQL》阅读-MySQL选择数据类型
整理时间:20210112 22:00-23:00
【星野残红】诗号:
英雄本无泪,怀刀饮寒风。

7. 日期和时间类型
1. MySQL能存储的最小时间粒度为S
2. MySQL提供两种相似的日期类型DATETIME和TIMESTAMP。
DATETIME:
①1001~9999年,精度为S;它把日期和时间封装到格式为YYYYMMDDHHMMSS的整数中,与时区无关。使用8个字节的存储空间
②默认情况下,MySQL以一种可排序的,无歧义的格式显示DATETIME值“2021-01-12 22:03:08”。这是ANSI标准定义的日期和时间表示方法
TIMESTAMP:
① 19070101000000~2038;它和UNIX时间戳相同,TIMESTAMP使用4个字节的存储空间
②TIMESTAMP显示的值依赖于时区
③TIMESTAMP也有DATETIME没有的特殊属性,默认情况下,如果插入时没有指定第一个TIMESTAMP列的值,MySQL则设置这个列的值为当前时间。除非你设定了这个列 的值。TIMESTAMP列的默认值为NOT NULL
④通常情况下,也尽量使用TIMESTAMP, 因为它比DATETIME空间效率更高
**NOTICE:**如果需要存储更小粒度的日期和时间,MySQL目前没有提供合适的数据类型,但是可以使用自己其他的存储格式。可以使用BIGINT类型存储微秒级的时间值,或者使用DOUBLE来存储秒之后的小数部分
8. 位数据类型
1. 无论底层存储格式和处理方法如何,从技术上说都是字符串类型
2. BIT
① 可以使用BIT列在一列中存储一个或多个true/false值。BIT列的最大长度是64个位
② MySQL把BIT当做字符串类型,而不是数字类型
③ 应该谨慎使用BIT类型,最好避免使用这种类型
3. SET
①如果需要保存很多true/false值,可以考虑合并这些列到一个SET数据类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

booth-ZDH

爪哇一生

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值