azure - Azure Synapse 中的外部表性能非常慢

标签 azure azure-synapse external-tables

我有一个 Parquet 文件并创建了一个新的外部表,但与突触中的普通表相比,性能非常慢。你能告诉我如何克服这个问题吗?

最佳答案

非常广泛的问题。所以我会给出广泛的答案:

  1. 使用普通表。外部表的“普通表”的性能很难被超越。 “普通表”是指使用CREATE TABLE在专用SQL池中创建的表。如果您重复查询一个或多个表中的数据,并且每个查询都不同(分组、联接、选定列),那么您无法获得具有外部表的“普通”表的性能。
  2. 了解并应用基础 best practices :
    • 使用您正在做的 Parquet 格式。

    • 选择正确的分区列并通过将分区存储到不同的文件夹或文件名来对数据进行分区。

    • 如果查询针对单个大文件,您可以将其拆分为多个较小的文件,从而受益匪浅。

    • 尽量将 CSV(如果使用 csv)文件大小保持在 100 MB 到 10 GB 之间。

    • 使用正确的数据类型。

    • 手动创建 CSV 文件的统计信息

    • 使用 CETAS 增强查询性能和联接

      ...还有更多。

关于azure - Azure Synapse 中的外部表性能非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66608701/

相关文章:

azure - 为什么 Azure SQL 数据仓库中没有执行计划?

Azure Synapse 数据集

hadoop - 如何将HAWQ中的数据推送到GREENPLUM中?

sql - 无法在 Azure SQL 数据仓库上创建到 Azure SQL Server 的外部表

azure - 选择外部表中的几列

azure - 在 Azure 中通过授权保护 Web api 的安全有哪些方法

asp.net - 对 Azure 托管 ASP .Net 5 站点进行地理复制和流量路由,并跨大洲支持 SQL 数据库

出现 VNET 创建错误的 Azure 容器实例

azure - 从azure synapse sql导出数据

azure - 从头开始在 Azure 上部署 Elasticsearch