nyc*_*nik 10 python sql database pyodbc
我目前正在使用pyodbc从数据库中选择一个大的行列表.然后将结果复制到一个大型列表,然后我尝试迭代列表.在我放弃python并尝试在C#中创建它之前,我想知道是否有一些我做错了.
clientItems.execute("Select ids from largetable where year =?", year);
allIDRows = clientItemsCursor.fetchall() #takes maybe 8 seconds.
for clientItemrow in allIDRows:
aID = str(clientItemRow[0])
# Do something with str -- Removed because I was trying to determine what was slow
count = count+1
Run Code Online (Sandbox Code Playgroud)
更多信息:
谁能告诉我什么是错的?脚本运行这么慢吗?
谢谢
jsb*_*eno 18
使用Python本机列表时,这应该不会很慢 - 但是ODBC的驱动程序可能会返回一个"懒惰"的对象,它试图变得聪明但只是变慢.试着做
allIDRows = list(clientItemsCursor.fetchall())
在您的代码中并发布更多基准测试.
(如果你开始在中间插入东西,Python列表可能会变慢,但只是在大型列表上迭代应该很快)
| 归档时间: |
|
| 查看次数: |
6939 次 |
| 最近记录: |