import
exekveras vid varje funktionsanrop. Detta är samma beteende som du skulle få om du skrev en normal Python-modul med import
uttalande i en funktionskropp i motsats till på modulnivå.
Ja, detta kommer att påverka prestandan.
Du kan kringgå detta genom att cachelagra dina importer så här:
CREATE FUNCTION test() RETURNS text
LANGUAGE plpythonu
AS $$
if 'json' in SD:
json = SD['json']
else:
import json
SD['json'] = json
return json.dumps(...)
$$;
Detta är visserligen inte särskilt vackert, och bättre sätt att göra detta diskuteras, men de kommer inte att hända före PostgreSQL 9.4.