该import
是对每个函数调用执行。如果您编写了一个普通的python模块,并且该import
语句在函数体内是与模块级别相对的,则这与您得到的行为相同。
是的,这会影响性能。
您可以通过以下方式缓存导入来解决此问题:
CREATE FUNCTION test() RETURNS text
LANGUAGE plpythonu
AS $$
if 'json' in SD:
json = SD['json']
else:
import json
SD['json'] = json
return json.dumps(...)
$$;