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

В JDBC драйвере эта фича используется с самого начала - пул коннектов также 
выступает кэшем запросов. Выиграш в некоторых случаях до 100%.

 > 1) какие подводные камни тут возможны? почему IBX анпрепэрит запрос, хотя
 > этого можно было бы и не делать? (один ответ я знаю: на тот случай, если
 > изменятся метаданные)

это главное. ну и еще каждый запрос съедает немного памяти...

 > 2) насколько для сервера критично количество подготовленных запросов?
 > если их будет порядка 5 000? и "висеть" они будет на протяжении рабочего
 > дня 8-10 часов?

У меня экспериментально получался предел в ~20 000 запросов (точнее 
хэндлов)... после этого сервер зависал.

Роман 



Ответить