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

使用Python将SQL Server数据库加载到内存中,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我必须对一个大型SQL server数据库进行大量查询,而且查询过程非常缓慢 我可以做类似的事情 import pyodbc #database connection tsql = "SELECT * FROM table1" with cursor.execute(tsql): rows = cursor.fetchall() 但在内存中加载特定行之后,我如何才能选择这些行呢?因为我有很多依赖于其他查询的查询,我认为迭代数千行来过滤特定数据不是很有效,所以我认为可能有更好的方法来实

我必须对一个大型SQL server数据库进行大量查询,而且查询过程非常缓慢

我可以做类似的事情

import pyodbc

#database connection
tsql = "SELECT * FROM table1"
with cursor.execute(tsql):
    rows = cursor.fetchall()
但在内存中加载特定行之后,我如何才能选择这些行呢?因为我有很多依赖于其他查询的查询,我认为迭代数千行来过滤特定数据不是很有效,所以我认为可能有更好的方法来实现这一点

提前感谢。

如果您确实拥有一个“大型SQL server数据库”,那么您就不想将整个表加载到内存中。相反,对于每个任务,只需使用标准SQL方法从相关行加载感兴趣的列,例如

crsr.execute("SELECT firstname, lastname FROM table1 WHERE country = 'Canada'")
rows = crsr.fetchall()

如果您需要多个相关表中的信息,请在web上搜索基本SQL教程,这些教程描述了如何使用
JOIN
关键字来完成此操作。

您可以使用pandas库执行内存中的表格操作。