这篇文章主要介绍了mysql timestamp比较查询遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

timestamp比较查询遇到的坑

记得之前京东要求mysql建表的时候update_time 为timestamp,create_time为datetime。后来阿里的编码规范里要求两者都要是datetime类型的。

对于timestamp和datetime的区别好多地方都有介绍。有时在想为什么京东会要求update_time必须timestamp呢?难道是因为占用的空间少点?还是只有timestamp才能设置默认值(on update current_timestamp)?默认值datetime不是也可以设置么。后来百度了下,才知道 datetime支持设置默认值是在5.7的时候才支持的。京东这么要求可能之前使用的mysql版本过低,同时要求update_time 能自动更新的缘故吧。

现在在一家公司也是这么要求的 ,update_time设置为timestamp。结果遇到坑了。一同事发现很奇怪的问题:为什么date比较查询没有结果,而把日志里面打印的sql直接执行却能查询到结果??为什么会出现这种不一致的情况,我之前也没遇到过。解决问题嘛,总是让人兴奋的。

自己在本地试了下,确实是这样的,打印的日志没有问题,而正是日志‘迷惑'了我们,让人觉得很奇怪。看了下比较的字段 是 update_time, 正是timestamp类型的。经过阿里规范熏陶过,敏锐的觉得应该是类型的问题。所以自己百度了下发现是时区的问题。在数据库连接url后面加上serverTimezone=GMT%2B8 参数就行了。当然另一种方式就用datetime,这样能避免很多坑。

为什么会出现这样的问题?是因为应用服务器和mysql部署的服务器时区不一致导致的。这就是为什么我们看到的打印日志没有问题,但是却查询不到结果的原因(日志中看到的时间是本机的时区,但是当数据传输到mysql服务器时,是另一个时区的时间)

mysql 的date 也有这个问题。。。

timestamp查询范围问题

MySQL中timestamp类型日期,比如更新时间是2020-05-26,查询是时 update_time <= 2020-05-26,是查询不到的,需要转为 DATE_FORMAT(info.up_time,'%Y-%m-%d') <= '2020-05-26',具体原因不明,需要深入研究。

mysql timestamp比较查询相关推荐

  1. MySQL数据库时间类型datetime、bigint、timestamp的查询效率比较

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://juejin.im/post/6844903701094596615 数据库中可以用datetime.bi ...

  2. 我脸都问绿了!二面竟然被问到 MySQL 时间类型 datetime、bigint 及 timestamp 的查询效率。。。

    " 数据库中可以用datetime.bigint.timestamp来表示时间,那么选择什么类型来存储时间比较合适呢? 前期数据准备 通过程序往数据库插入50w数据 数据表: CREATE ...

  3. datetime mysql 查询_mysql数据库时间类型datetime、bigint、timestamp的查询效率比较

    数据库中可以用datetime.bigint.timestamp来表示时间,那么选择什么类型来存储时间比较合适呢? 前期数据准备 通过程序往数据库插入50w数据 数据表: CREATE TABLE ` ...

  4. mysql开启慢查询日志

    应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...

  5. mysql的模糊查询以及时间类型整理

    最近项目需求做模糊查询,大家也都知道,模糊查询是挺简单的,但难的是如何提升效率,,,当然在此咱们不说其他高深的,只针对mysql的模糊查询 1.mysql中除了like模糊查询,还有另一种模糊查询,F ...

  6. mysql之慢查询详解,mysqldumpslow的使用

    简言 1. mysql中的慢查询是我们分析问题,定位问题的利器,巧妙使用可以快速解决问题 2. 原理:运行时间超过 long_query_time 的sql语句会被写入到慢查询日志文件中或者mysql ...

  7. 跨mysql和mongodb查询工具_MySQL与MongoDB查询互转

    Mysql与MongoDB查询互转 mongo查询严格要求数据格式! 1.只想查出某些数据,不想全部数据都查出来 mysql:select name from user; mongo: db.user ...

  8. mysql 按日期查询

    在mysql中,比如你的表的时间字段是column2,并且column2的类型是timestamp 单日查询: select * from TableName where column1='xxxx' ...

  9. mysql打开慢查询_MySQL 开启慢查询日志的方法

    1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [root@localhost lib]# ...

最新文章

  1. tree树的展示,check树的展示,json数据转zree树格式数据
  2. 模拟操作系统动态内存管理(c实现)
  3. 关于编码ansi、GB2312、unicode与utf-8的区别
  4. w5100 网上资料整理
  5. android开发屏幕横放,android-即使从横向旋转到垂直,细节片段也会...
  6. 微信小程序商城,微信小程序微店,长期维护版本
  7. Redis常用API-使用文档
  8. 常见的几种索引扫描类型
  9. 字符串类型日期时间转换为Date类型解析转换异常java.text.ParseException: Unparseable date: “2019-09-27T18:31:31+08:00”
  10. 主机mysql密码修改_mysql密码修改方法_配置root密码_mysql 改数据库名_mysql忘记密码...
  11. 怎样用命令查看Mysql数据库大小?
  12. 写bat脚本--2021年5月18日
  13. 多路复用器_多路复用、非阻塞、线程与协程
  14. 研究云计算与大数据分析处理领域建议看的学术论文列表
  15. Katalon Recorder 自动录制 Selenium 爬虫脚本
  16. protobuf入门教程(四):repeated限定修饰符
  17. 自己动手写一个小型的TCP/IP协议
  18. PHPUnit的使用
  19. 例题4-6 师兄帮帮忙(A Typical Homework (a.k.a Shi Xiong Bang Bang Mang),Rujia Liu's Present 5, UVa 12412)
  20. vue使用支付宝支付

热门文章

  1. Python Web 框架要点
  2. 为什么要使用sigmoid,tanh,ReLU等非线性函数?
  3. 懒人必备 |通过爬虫 筛选以及查看CSDN 满足相应积分的资源列表 简单好用
  4. soup.a.parents都有哪些
  5. 网络工程师_记录的一些真题_2018上半年上午
  6. SLAM基础:相机与图像
  7. 科研助力|计算机科学方向一对一科研项目
  8. 图像去马赛克:双线性插值VS高质量线性插值
  9. 深度学习中的图像分割:方法和应用
  10. Java8 对Map进行排序