materialized_views_ignore_errors
SELECT 中还是在内部表 sink 中) 抛出的异常会作为警告记录,且 INSERT 语句会成功。如果禁用 (默认) ,这类异常会继续向上传播,且 INSERT 语句会失败。
此设置仅控制错误报告。它不会回滚对源表的写入,也不保证当依赖视图的管道中发生错误时,原始块是否已提交到源表。禁用时 (默认) ,INSERT 会因视图错误而失败——请结合插入去重 (insert_deduplicate、deduplicate_blocks_in_dependent_materialized_views) 重试,以便对源表和所有依赖视图实现 exactly-once 传递。启用时,即使失败视图及其下游链只完成了部分传递,INSERT 仍会报告成功;仅应在源表写入绝不能被视图侧问题阻塞时使用此设置 (例如 system.*_log 表) 。完整语义请参阅 CREATE VIEW 文档。
materialized_views_squash_parallel_inserts
parallel_view_processing,则 INSERT 查询会为每个 max_insert_thread 在目标表中生成一个 part。