雪花变型性能



我有一个雪花表,这是几个tb的大小。我在一个点来决定是否有一个字段内的变体列或有它作为一个独立的列。字段的数据类型是一个简单的字符串。

我通过在变量列内查询这个字段(在where子句中)和直接作为单独的列查询来评估和比较性能。统计数据显示,在变量中查询比在常规列中查询慢40%-60%。

在Snowflake文档中找不到任何说明查询varchar的变体较慢的内容。任何关于这个的想法都是非常感激的。我需要在此基础上做出一些重要的决定,并教育这个表的最终用户

Thanks in advance

这取决于该数据的结构以及稍后将如何使用它。如果您计划存储复杂的半结构化数据并为单个节点查询它,最好的选择是将数据存储在VARIANT类型中。您可以在这里阅读更多内容:半结构化数据注意事项

如果,如您所写,您存储一个简单的字符串,最好使用string类型。由于这一点,您将避免转换类型,你也可以使用搜索优化服务或集群。

您是否在此表上启用了搜索优化进行了任何基准测试?

作为VARCHAR的一部分加载时,对字符串数据的查询预计会比加载到VARIANT时更快。请看这里的一个案例研究:
Snowflake中半结构化数据类型的性能

最新更新