При просмотре журнала запросов я вижу нечетный шаблон, для которого у меня нет объяснений.
После практически каждого запроса у меня есть "выбрать 1 из DUAL".
Я понятия не имею, откуда это происходит, и я явно не делаю запрос явно.
Журнал в основном выглядит следующим образом:
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
...etc...
Кто-нибудь сталкивался с этой проблемой раньше?
Версия MySQL: 5.0.51
Драйвер: приложение Java 6 с использованием JDBC. MySQL-разъем-Java-5.1.6-bin.jar
Пул соединений: commons-dbcp 1.2.2
У validationQuery было установлено "выбрать 1 из DUAL" (очевидно), и, по-видимому, пул соединений по умолчанию использует testOnBorrow и testOnReturn для true, если запрос проверки не равен нулю.
Еще один вопрос, который возникает для меня, заключается в том, действительно ли мне нужно иметь запрос проверки, или если я могу получить повышение производительности, отключив его или, по крайней мере, уменьшив частоту с которой он используется. К сожалению, разработчик, который написал наш "менеджер баз данных", больше не с нами, поэтому я не могу попросить его оправдать его для меня. Любой вход был бы оценен. Я собираюсь выкапывать API и Google на некоторое время и отчитываться, если найду что-нибудь полезное.
EDIT: добавлена дополнительная информация
EDIT2: добавлена информация, которая была запрошена в правильном ответе для тех, кто находит это позже