使用 Excel 查询大型数据库

使用 Excel 查询大型数据库

是否可以使用 Excel 的数据透视表作为针对数据库的一种查询生成器,而无需将整个数据库复制到 Excel 中?我知道使用外部数据源功能,您可以连接到任何 ODBC 数据库并根据任何 SQL 查询的结果创建数据透视表。但至少使用 MySQL / ODBC,它似乎通过将整个结果集复制到本地计算机上然后在本地运行查询来实现这一点。

有没有办法在查询实际发生在服务器上的情况下获得相同的功能,例如使用 Microsoft SQL 服务器?我的问题是我希望能够使用数据透视表分析数据,但整个数据库表太大而无法加载到 excel 中。

答案1

即使你复制了整个数据库(这个数据库很可能非常大),数据透视表慢的。最初让数据透视表遍历所有数据并显示任何内容需要花费大量时间(我正在使用一个大约有 30k 行和 20 列的数据透视表,仅加载文件就需要 10 多分钟)。

除了定义 Excel 值范围或查询之外,无法将数据透视表用于任何其他用途,但需要先获取整个结果集。即使可以将数据透视表直接用于数据库,数据透视表也需要遍历每一行数据来解析它 - 无论如何都会有效地下载整个数据库。

如果您在查询中需要数据透视表功能,请查看PIVOTUNPIVOTMS SQL 命令或者,如果您使用的是 MS Access,请尝试使用交叉表查询来开始。作为最后的手段,在开始数据透视表之前,只需从数据库中筛选出不需要的行和列即可。

相关内容