如果某个表在列上具有默认值,例如
create table emp
(
flag smallint default 1
)
如果我没有在insert语句中使用,那么这个默认列在批量导入中是否有任何影响。
如果您查看生成器/计划器/优化器/重写器的源代码(postgresql / src / backend / rewrite / rewriteHandler.c绕#1112行,函数build_column_default()
):
默认值(或函数,例如对于连续出版物)从目录中获取并添加一次到查询树。因此,DEFAULT
甚至可能比从查询中的一个表中为所有受影响的行获取单独的值更有效。
但你可以确定衡量差异。