sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan håndteres importudsagn i plpython?

import udføres ved hvert funktionskald. Dette er den samme adfærd, som du ville få, hvis du skrev et normalt Python-modul med import sætning inde i en funktionstekst i modsætning til på modulniveau.

Ja, dette vil påvirke ydeevnen.

Du kan omgå dette ved at cache dine importer på denne måde:

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

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

Dette er ganske vist ikke særlig kønt, og bedre måder at gøre dette på diskuteres, men de vil ikke ske før PostgreSQL 9.4.



  1. Er det hurtigere at konvertere til varchar eller varchar til int, når man sammenligner i MySQL?

  2. WHERE IN (matrix af ID'er)

  3. Heroku pg:psql går i stå

  4. Array er ikke persisteret til databasen