2

我应该怎么做才能确保在 Azure SQL 数据仓库中使用 transact-SQL 获得最佳查询性能,同时在 Azure Blob 存储中组合来自 SQL 的数据集和非关系数据?任何输入将不胜感激。

4

2 回答 2

3

最佳做法是将数据从 Azure Blob 存储加载到 SQL 数据仓库,而不是尝试对该数据进行交互式查询。

原因是当您对驻留在 Azure Blob 存储中的数据(通过外部表)运行查询时,SQL 数据仓库(在幕后)将所有数据从 Azure Blob 存储导入 SQL 数据仓库临时表以进行处理查询。因此,即使您在外部表上运行 SELECT TOP 1 查询,该表的整个数据集也将临时导入以处理查询。

因此,如果您知道您将经常查询外部数据,建议您使用 CREATE TABLE AS SELECT 命令将数据永久显式加载到 SQL 数据仓库中,如文档所示:https ://azure.microsoft .com/en-us/documentation/articles/sql-data-warehouse-load-with-polybase/

于 2015-08-10T20:56:29.410 回答
1

作为最佳实践,尽可能将 Azure 存储数据分解为不超过 1GB 的文件,以便使用 SQL 数据仓库进行并行处理。有关如何在 SQL 数据仓库中配置 Polybase 以从 Azure 存储 Blob 加载数据的更多信息,请访问:https ://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-load-with-polybase /

让我知道这是否有帮助!

于 2015-06-29T21:07:48.380 回答