我有数百个配置了更新触发器的表。
我想知道什么是更好的方法:
1.创建每个表触发器功能,其中触发器代码(其逻辑对于所有表是相同的)是特定于表的
2.创建一个全局函数,它知道通过创建动态sql语句来处理所有表,并将其配置为所有表的触发器函数。
我想知道每个表的函数是否能更快地运行,因为pgsql可以预编译并重用函数,而全局函数需要通过每个调用的表名动态创建sql语句。
为了更清楚,在per table函数中我可以为TableA编写:
insert into log_table values('TableA', x, y, z)
在全球范围内,我需要将其写成:
EXECUTE 'insert into log_table values(' || current_table || ', x, y, z)'