В csvlog появляется много «BIND» и «PARSE» - PullRequest
1 голос
/ 29 июля 2011

В моих файлах csvlog PostgreSQL я нахожу много ключевых слов "BIND" и "PARSE" в файлах журнала csv, так же как и следующие:

Может ли кто-нибудь объяснить значение "BIND""и" PARSE ", которые появляются в журнале csv?

Не знаю, нормально ли это или есть проблема, спасибо!

ВЕРСИЯ PostgreSQL: 9.0.1

- "BIND" csvlog

2011-07-29 09:50:01.154 CST,"netpk","netpk",674,"192.168.170.37:41022",4e3211b2.2a2,2,"BIND",2011-07-29 09:49:38 CST,212/1074044,0,LOG,00000,"duration: 3539.601 ms  bind :      select *     from t_tmp     where skyid=$1 and appid=$2   ","parameters: $1 = '202882651', $2 = '324016'",,,,,,,,""

- csvlog "PARSE"

2011-07-29 09:50:01.177 CST,"netpk","netpk",727,"192.168.170.37:41098",4e3211b7.2d7,3,"PARSE",2011-07-29 09:49:43 CST,269/687465,0,LOG,00000,"duration: 1420.256 ms  parse <unnamed>:     select * from (select * from t_tmp      where appid=$1           and status=0 and manual_status=0    )t    where 1=1    and     C9=3 and (C0>0 and C0<10) order by C0 desc,skyid desc                 offset $2       limit $3     ",,,,,,,,,""

1 Ответ

2 голосов
/ 29 июля 2011

Это подготовленные заявления ;приложение отправляет операторы без фактических параметров, чтобы сервер PostgreSQL мог проанализировать оператор и подготовить его на стороне сервера.

Как видно из журнала, запрос может получить ряд позиционных параметров;они задаются последующими execute операторами.

Преимущество состоит в том, что анализ и планирование запроса выполняется только один раз, а не каждый раз, когда запрос отправляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...