我想知道是否有人可以确认PostgreSQL Inlining的预期行为?
从Microsoft SQL的世界来看,任何确定为内联的函数都将在多个行的单个迭代中使用(该函数主体实质上已注入到调用程序语句中,使其成为基于集合的[一个调用],而不是每个输入数据行都有一个探针(多次调用))。
我和我的团队正在努力在没有诸如MSSQL之类的Profiler的情况下证明这一点,但我们最终得以证明这一点,并发现我们认为函数内联的迭代次数与它所处的行数成正比。运作。
为此,我们在函数(pg_sleep)中引入了有意的等待,在其中我们可以看到等待N秒会导致Rows * N的总执行时间,即输入6行,等待1秒就是6秒,等待2是12,依此类推。
因此,我们的问题是: