我必须对一个大型SQL Server数据库进行很多查询,并且过程非常缓慢。
我可以做类似
的操作import pyodbc
#database connection
tsql = "SELECT * FROM table1"
with cursor.execute(tsql):
rows = cursor.fetchall()
但是在将SELECT特定行加载到内存后,我该如何处理呢?因为我有很多查询都依赖于其他查询,并且我认为对数千行进行过滤来过滤特定数据不是非常有效,所以我认为可能会有更好的方法来做到这一点。
谢谢。
答案 0 :(得分:0)
如果您确实拥有“大型SQL Server数据库”,则您不想将整个表加载到内存中。相反,对于每个任务,只需使用标准SQL方法(例如,
)从相关行中加载感兴趣的列即可crsr.execute("SELECT firstname, lastname FROM table1 WHERE country = 'Canada'")
rows = crsr.fetchall()
如果您需要几个相关表中的信息,请在网上搜索基本的SQL教程,这些教程描述了如何使用JOIN
关键字来实现这一目的。