Python中文
首页
教程
问答
标签
搜索
登录
注册
嵌套SQL查询太多
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下代码,在第一个查询的结果集循环中执行另一个查询 表1有35K条记录,而表2有4M条记录</p> <pre><code>db = MySQLdb.connect("localhost","root","root","test" ) cursor1 = db.cursor(MySQLdb.cursors.DictCursor) cursor2 = db.cursor(MySQLdb.cursors.DictCursor) sql = 'select * from table1 limit 2' cursor1.execute(sql) results = cursor1.fetchall() for row in results: sql2 = 'select * from table2 where t1 = '+row['t1'] cursor2.execute(sql2) result2 = cursor2.fetchall() for row2 in result2 #do something </code></pre> <p>对于每个迭代和每个查询,流程似乎都在等待。我尝试用cProfile分析,得到了以下输出之一</p> <pre><code>ncalls tottime percall cumtime percall filename:lineno(function) 3 21.529 7.176 21.529 7.176 connections.py:274(query) </code></pre> <p>如何调试这个问题?我对Python很陌生。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在web应用程序中嵌套查询从来不是一个好主意。正如您所发现的,它会扼杀性能。你知道吗</p> <p>尝试使用联接表1和表2的单个查询。然后,以编程方式跟踪父数据何时更改以处理换行符或显示更改。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用Python创建一个非常大的二进制频率矩阵来运行协作过滤
7 回答
使用Python创建一张HTML网页,其中在不同颜色中重复n遍显示“Hello World”的方法
1 回答
使用Python创建一组唯一的值length L
8 回答
使用python创建不同表格的透视表
8 回答
使用python创建不和谐频道
2 回答
使用python创建不存在的多个文件夹
8 回答
使用python创建串行远程文件
2 回答
使用python创建交互式仪表板时出现问题
9 回答
使用python创建交互式绘图
5 回答
使用python创建交互式自动电子邮件
4 回答
使用Python创建价格列表
1 回答
使用python创建修改的txt文件
4 回答
使用Python创建全局变量,初始化后更改值
1 回答
使用Python创建关键字搜索词数组
1 回答
使用Python创建具有不均匀块大小/堆叠条形图的热图
2 回答
使用Python创建具有依赖于另一列的值的列
4 回答
使用Python创建具有多列的HTML表
1 回答
使用Python创建具有时间范围数据的等距数据帧
5 回答
使用Python创建具有特定顺序或属性的XML文件
5 回答
使用Python创建具有级联功能的搜索栏
3 回答