Как вы форматируете код в Visual Studio Code (VSCode)

Я столкнулся с рядом ограничений, связанных с подготовленным оператором:

  1. Подготовленные операторы кэшируются только внутри одного сеанса (Postgres), поэтому он действительно будет работать только с пулом соединений
  2. Множество разных подготовленных операторов, предложенных @BalusC, может привести к переполнению кеша, а ранее кэшированные операторы будут удалены
  3. Запрос должен быть оптимизирован и использовать индексы. Звучит очевидно, однако, например, заявление ANY (ARRAY ...), предложенное @Boris в одном из лучших ответов, не может использовать индексы, и запрос будет медленным, несмотря на кеширование
  4. . Подготовленный оператор также кэширует план запроса, а фактические значения любые параметры, указанные в инструкции, недоступны.

Среди предлагаемых решений я бы выбрал тот, который не уменьшает производительность запроса и уменьшает количество запросов. Это будет # 4 (партия нескольких запросов) из ссылки @Don или указание значений NULL для ненужных '?' знаки, предложенные В.Дужевым

990
задан Stacked 10 September 2016 в 17:07
поделиться