使用Python将SQL Server数据库加载到内存中

时间:2018-10-30 18:27:38

标签: python sql-server pyodbc

我必须对一个大型SQL Server数据库进行很多查询,并且过程非常缓慢。

我可以做类似

的操作
import pyodbc

#database connection
tsql = "SELECT * FROM table1"
with cursor.execute(tsql):
    rows = cursor.fetchall()

但是在将SELECT特定行加载到内存后,我该如何处理呢?因为我有很多查询都依赖于其他查询,并且我认为对数千行进行过滤来过滤特定数据不是非常有效,所以我认为可能会有更好的方法来做到这一点。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您确实拥有“大型SQL Server数据库”,则您不想将整个表加载到内存中。相反,对于每个任务,只需使用标准SQL方法(例如,

)从相关行中加载感兴趣的列即可
crsr.execute("SELECT firstname, lastname FROM table1 WHERE country = 'Canada'")
rows = crsr.fetchall()

如果您需要几个相关表中的信息,请在网上搜索基本的SQL教程,这些教程描述了如何使用JOIN关键字来实现这一目的。