我正在考虑为BI目的创建非规范化表。
从多个表创建业务逻辑时,我注意到当使用以下合并语句对非规范化表(具有多个业务逻辑SQL的存储过程)进行批量更新时,查询的性能更好。
例如:sproc包含多个SQL之类
将业务逻辑包含在庞大的SQL中还是对其进行划分,以便每个查询处理更少的行数,是更好的选择吗?
如果我使用sproc,会产生开销吗?
答案 0 :(得分:1)
说得很一般。雪花已经过优化,可以大批量工作。例如,我遇到的情况是,插入1条记录和100,000条记录所需的时间差不多。因此,插入1条记录100,000次会慢很多。
肯定会有一些限制。 1TB的批次应拆分。而且您的里程可能会因方式/时间/等而异。您正在更新表格。一般来说,您会发现批次的性能更高。
我所知道的过程的唯一实际开销与将数据类型从SQL转换为Javascript并再次转换回去有关,然后与如何管理输出有关。在大多数情况下,这并不重要。