import
dieksekusi pada setiap pemanggilan fungsi. Ini adalah perilaku yang sama yang akan Anda dapatkan jika Anda menulis modul Python normal dengan import
pernyataan di dalam badan fungsi sebagai lawan pada tingkat modul.
Ya, ini akan memengaruhi kinerja.
Anda dapat mengatasinya dengan menyimpan impor Anda seperti ini:
CREATE FUNCTION test() RETURNS text
LANGUAGE plpythonu
AS $$
if 'json' in SD:
json = SD['json']
else:
import json
SD['json'] = json
return json.dumps(...)
$$;
Ini memang tidak terlalu bagus, dan cara yang lebih baik untuk melakukan ini sedang dibahas, tetapi itu tidak akan terjadi sebelum PostgreSQL 9.4.