File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change 1- 我们平时开发中不可避免的就是要存储时间,比如我们要记录操作表中这条记录的时间、记录转账的交易时间、记录出发时间等等。你会发现这个时间这个东西与我们开发的联系还是非常紧密的 ,用的好与不好会给我们的业务甚至功能带来很大的影响。所以,我们有必要重新出发,好好认识一下这个东西。
1+ 我们平时开发中不可避免的就是要存储时间,比如我们要记录操作表中这条记录的时间、记录转账的交易时间、记录出发时间等等。你会发现时间这个东西与我们开发的联系还是非常紧密的 ,用的好与不好会给我们的业务甚至功能带来很大的影响。所以,我们有必要重新出发,好好认识一下这个东西。
22
33这是一篇短小精悍的文章,仔细阅读一定能学到不少东西!
44
99但是,这是不正确的做法,主要会有下面两个问题:
1010
11111 . 字符串占用的空间更大!
12- 2 . 字符串存储的日期比较效率比较低 (逐个字符进行比对),无法用日期相关的 API 进行计算和比较。
12+ 2 . 字符串存储的日期效率比较低 (逐个字符进行比对),无法用日期相关的 API 进行计算和比较。
1313
1414### 2.Datetime 和 Timestamp 之间抉择
1515
1616Datetime 和 Timestamp 是 MySQL 提供的两种比较相似的保存时间的数据类型。他们两者究竟该如何选择呢?
1717
1818** 通常我们都会首选 Timestamp。** 下面说一下为什么这样做!
1919
20- #### 2.1 DateTime 类型没有时区信息的
20+ #### 2.1 DateTime 类型没有时区信息
2121
2222** DateTime 类型是没有时区信息的(时区无关)** ,DateTime 类型保存的时间都是当前会话所设置的时区对应的时间。这样就会有什么问题呢?当你的时区更换之后,比如你的服务器更换地址或者更换客户端连接时区设置的话,就会导致你从数据库中读出的时间错误。不要小看这个问题,很多系统就是因为这个问题闹出了很多笑话。
2323
@@ -106,7 +106,7 @@ Timestamp 只需要使用 4 个字节的存储空间,但是 DateTime 需要耗
106106
107107![ ] ( https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/FhRGUVHFK0ujRPNA75f6CuOXQHTE.jpeg )
108108
109- 可以看出 5.6.4 之后的 MySQL 多出了一个需要 0 ~ 3 字节的小数位。Datatime 和 Timestamp 会有几种不同的存储空间占用。
109+ 可以看出 5.6.4 之后的 MySQL 多出了一个需要 0 ~ 3 字节的小数位。DateTime 和 Timestamp 会有几种不同的存储空间占用。
110110
111111为了方便,本文我们还是默认 Timestamp 只需要使用 4 个字节的存储空间,但是 DateTime 需要耗费 8 个字节的存储空间。
112112
You can’t perform that action at this time.
0 commit comments