Python MySQL性能:在mysql命令行中运行速度很快,但用cursor.execute运行速度很慢
问题描述:
我正在编写用于导出某些数据的脚本。Python MySQL性能:在mysql命令行中运行速度很快,但用cursor.execute运行速度很慢
关于环境的一些细节:
- 该项目的Django基于
- 我使用原/自定义SQL的出口
- 数据库引擎是MySQL的。
- 数据库和代码都在有关SQL相同box.-
详情:
- 内一堆加入
- 选择A柱的一堆,有的一个基本的乘法计算。
- SQL结果大约有55K行
当我运行在mysql命令行的SQL语句,它需要3-4秒
当我在我的python脚本行光标运行SQL .execute(sql,[id])超过60秒。
关于可能导致此问题的任何想法?
答
两个想法:
MySQL可能已经启用查询缓存,这使得当你重复运行相同的查询很难得到准确的计时。尝试更改查询中的ID以确保它确实在3-4秒内始终运行。
尝试在python进程上使用strace来查看它在这段时间内正在做什么。