sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur hanteras importsatser i plpython?

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.



  1. Hur man ställer in eller testar PLSQL-kodprestanda i Oracle D2k-formulär

  2. Koppla Google Cloud SQL med Wordpress på Google Compute Engine

  3. mysqli - Behöver jag verkligen göra $result->close(); &$mysqli->close();?

  4. Få paginerade rader och totalt antal i en enda fråga