sql >> Databáze >  >> RDS >> PostgreSQL

Jak se zpracovávají příkazy importu v plpythonu?

import se provádí při každém volání funkce. Toto je stejné chování, jaké byste získali, kdybyste napsali normální modul Pythonu s import příkaz uvnitř těla funkce na rozdíl od na úrovni modulu.

Ano, bude to mít vliv na výkon.

Můžete to obejít uložením importů do mezipaměti takto:

CREATE FUNCTION test() RETURNS text
LANGUAGE plpythonu
AS $$
if 'json' in SD:
    json = SD['json']
else:
    import json
    SD['json'] = json

 return json.dumps(...)
$$;

To sice není moc hezké a diskutuje se o lepších způsobech, jak toho dosáhnout, ale před PostgreSQL 9.4 k nim nedojde.



  1. Co je to za formát?

  2. poloměr vyhledávání podle zeměpisné šířky / délky

  3. Vložení MySQL z textové oblasti do více řádků

  4. Je místo obsazené odstraněnými řádky znovu využito?