У меня есть приложение Borland C ++ 6, вызывающее базу данных Oracle 10g.Работа через локальную сеть.Когда рассматриваемое приложение делает простой выбор БД, например,
select table_name from element_tablenames where element_id = 10023842
, следующее записывается как происходящее в Oracle (из журналов производительности)
select table_name
from element_tablenames
where element_id = 10023842
, а затем немедленно (а не из C ++исходный код, но, возможно, глубже)
select table_name, element_tablenames.ROWID
from element_tablenames
where element_id = 10023842
Оператор select
вызывается только один раз в объекте TADODbQuery
, но выполняются два запроса - один для анализа, а другой добавляет ROWID
дляexecuton.
По глобальной сети и по многим, многим запросам это, очевидно, является проблемой для пользователя.
Кто-нибудь знает, почему это может происходить, может кто-то предложить решение?