在SQL中使用now()导致的性能下降(MySQL)
2007-01-30 16:50
447 查看
做数据库调优,一个简单的tip就使性能提升一大块时,被帮助的人自然是高兴而且感激,我也是满心欢喜。用所学帮助了他人,也说明还是有一技之长的,有一门能够养活自己的手艺。也算是手艺人啊。
同事让我帮助优化,在slow query log里发现有两个SQL执行的次数最多,并且每次都在两秒以上。用explain看了,也未发现索引使用方面的问题。
最后把怀疑的目光落在了SQL结尾处的>=now()上,now()每次都需要从系统中取,因此可能会导致无法使用query cache。
了解了一下需求,实际这里并不需要当时的时刻,只需要当天的日期就行了。因此建议同事把>=now()改成>=当前日期,而当前日期在程序中取得。
果然,性能大幅提高。
本文出自 “MySQL中文网”博客 http://www.imysql.cn/本文出自 “爱MySQL” 博客,转载请与作者联系!
同事让我帮助优化,在slow query log里发现有两个SQL执行的次数最多,并且每次都在两秒以上。用explain看了,也未发现索引使用方面的问题。
最后把怀疑的目光落在了SQL结尾处的>=now()上,now()每次都需要从系统中取,因此可能会导致无法使用query cache。
了解了一下需求,实际这里并不需要当时的时刻,只需要当天的日期就行了。因此建议同事把>=now()改成>=当前日期,而当前日期在程序中取得。
果然,性能大幅提高。
本文出自 “MySQL中文网”博客 http://www.imysql.cn/本文出自 “爱MySQL” 博客,转载请与作者联系!
相关文章推荐
- 在SQL中使用now()导致的性能下降(MySQL)
- mysql 分析3使用分析sql 性能 show profiles ;
- mysql show profiles 使用分析sql 性能
- php fork太多进程导致整体性能下降,mysql down掉的解决.
- mysql show profiles 使用分析sql 性能
- mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高
- mysql使用Profiling分析query语句,sql语句性能优化
- MySQL笔记:select默认使用不当索引导致的巨大性能损失
- mysql show profiles 使用分析sql 性能
- MySQL中使用explain和profile分析SQL执行计划和性能
- MySQL高级开发(三)--SQL性能下降原因分析
- mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致
- mysql show profiles 使用分析sql 性能
- MySQL索引,MySQL性能分析及explain的使用,分析SQL查询性能
- 在使用SMO时,检索IsSystemObject属性将导致性能急剧下降的解决方法
- 在使用SMO时,检索IsSystemObject属性将导致性能急剧下降的解决方法
- mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致
- mysql show profiles使用分析sql性能
- 性能,使用Linq to sql 一个可能导致内存溢出的写法
- sqlserver.exe占物理内存高,导致系统性能下降