Как обрабатываются операции импорта в plpython?

У меня есть функция plypython, которая делает некоторую магию json. Для этого он явно импортирует библиотеку json.

Включен ли импорт при каждом вызове функции? Есть ли какие-либо последствия для производительности, о которых я должен знать?

    One Solution collect form web for “Как обрабатываются операции импорта в plpython?”

    import выполняется при каждом вызове функции. Это то же самое поведение, которое вы получили бы, если бы вы написали обычный модуль Python с инструкцией import внутри тела функции, как это было на уровне модуля.

    Да, это повлияет на производительность.

    Вы можете обойти это, кэшируя свой импорт следующим образом:

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

    Это, по общему признанию, не очень красиво, и обсуждаются лучшие способы сделать это, но они не произойдут до PostgreSQL 9.4.

     
    Interesting Posts for Van-Lav

    Декодирование json в jython с использованием только библиотек по умолчанию

    AttributeError: объект 'module' не имеет атрибутов 'tests'

    Наследование Python: TypeError: объект .__ init __ () не принимает параметров

    Одновременное попадание нескольких API-интерфейсов, торнадо и питон

    В разных экземплярах класса используется одинаковое расположение памяти

    Создание диапазонов цветов в Python

    Должен ли я использовать «из пакетов импорта, настроек» или «из. import utils, настройки "

    Канонические ссылки и 301 Перенаправление, если URL-адрес не соответствует slug

    Вызов __enter__ и __exit__ вручную

    Использование массивов Numpy в качестве справочных таблиц

    Django slugified urls – как обрабатывать конфликты?

    Каков самый общий тип python, к которому я могу добавить атрибуты?

    python: альтернатива анонимным функциям

    PTVS: как ссылаться или использовать исходный код Python в одном проекте из второго проекта

    Злой код из стандартной библиотеки Python

    Python - лучший язык программирования в мире.