• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

用char储存时间与用datetime有什么区别

1、存储类型,char的本质是定长字符串,datetime表现是时间类型,本质是int。精度要求相同时,char占用的空间更大。2、char可以存储时间的长度和精度可以完全由程序决定,datetime则由数据库本身决定。

一、用char储存时间与用datetime有什么区别

1、存储类型,char的本质是定长字符串,datetime表现是时间类型,本质是int。精度要求相同时,char占用的空间更大。

2、char可以存储时间的长度和精度可以完全由程序决定,datetime则由数据库本身决定。

3、作为索引的查询性能,datetime的存储类型更短,而且为int类型辨识度更高,在where或join时可以有更好的性能。

所以,datetime更节约空间,有更好的查询性能,如果datetime的长度或精度不满足需求,建议存储bigint类型的时间戳,没有必要将时间类型存为char。

数据库日期类型使用Varchar与DateTime优缺点

1、String 存储比较灵活,你可以存成 2021-1-1 ,也可以存成 2021-01-01 、2021-01.01 随心所欲,如果只是用来展示出来,不用考虑格式

2、String类型的字节数大小远大于datetime等类型,造成空间浪费,datetime本质上是双int型;

3、String类型的日期格式固定,无法像datetime一样调整显示格式,不同格式要进行join,需要两次类型转换;

4、String类型无法处理时区等信息;

5、因为如果用varchar 来存储年月日,那么需要10个字节,而date类型只需4个字节,而datetime类型也只需要8个字节,都小于varchar类型。

6、在进行查找、比较时,由于date和datetime本质上存储在数据库中是一个数字,所以直接通过数值比较效率很高,而varchar进行比较必需要一个字符一个字符比较,所以速度很慢。如果再想深一点,一条记录少了几个字节,关键是如果记录数多,那么总体节省的字节数就会很多,另外,加载到内存后,闸弄的内存更少,同时也只需要更少的IO,查询速度更快

​数据库中存储日期的字段类型到底应该用varchar还是datetime ?这两种方法各有优势,datetime可以借用sql函数库中运算函数,增加了时间在各种运算上的效率;而varchar类型则可以在字符编码上显出优势。在 存储的时间将来不需要进行大量计算的前提下,可以考虑选择varchar类型,反之,选择datetime类型。

正常使用时推荐使用DateTime类型​,而非Varchar类型,因为既然数据库设计出这个类型还是有它的道理。

延伸阅读:

二、Navicat是什么

Navicat是一套快速、可靠和全面的数据库管理工具,专门用于简化数据库管理和降低管理成本。Navicat图形界面直观,提供简便的管理方法,设计和操作MySQL、MariaDB、SQL Server、Oracle、PostgreSQL和SQLite的数据。

Navicat提供一个直观和设计完善的用户界面,用于创建、修改和管理资料库的所有对象,例如表、视图、函数或过程、索引、触发器和序列。我们的表设计器帮助用户创建和修改数据库的表,让设置高级选项,如关系、限制、触发器和更多。

使用Navicat浏览和修改数据,插入、编辑、删除数据或复制和粘贴记录到数据表形式的数据编辑器,Navicat将运行相应的命令(例如INSERT或UPDATE),免除写复杂的SQL。广泛的数据编辑工具令编辑工作更为方便,例如外键查找、set/enum选择器和记录筛选。

相关文章