今天在线生环境出现了一个问题,前端接口请求超时,我立马跑到正式环境中去运行了下请求超时的sql,吓一跳,足足运行了30多秒,这不行,得赶紧优化,可是左看有看上看下看,没毛病啊,于是,请教了我们组上的大神,他一眼就看出了问题所在,问题就出在DATE_FORMAT()这个函数,为此,我要记录一番,希望大家少踩坑。

如果在数据量少的情况小,运用DATE_FORMAT()性能是不会有影响,但是数据量一旦大 了之后,就会慢慢的出现性能问题了,这也是当时测试环境没有查出来,正式环境出现这个问题。

为了演示效果:我往表里插了几千万条数据,

 数据结构是这样的,我要查出regist_date是2018年的数据

我来执行修这个sql:

用时:

优化之后的执行下:

 

性能简直飞起:

为啥了,因为DATE_FORMAT函数会导致索引失效,所以大数据量不建议用这个函数。

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐