Производительность СУБД Java

#java #eclipse #jdbc #rdbms

#java #eclipse #jdbc #СУБД

Вопрос:

Если у меня есть метод в приложении Java для вставки данных в RDBMS, продвигается ли метод вперед после передачи запроса в базу данных. т.е. завершит ли Java-приложение метод (подключение, выполнение запроса, закрытие соединения) до того, как RDBMS обработает запрос. Я хочу запустить несколько тестов, но не был уверен, завершится ли приложение раньше RDBMS, и в результате это даст очень мало информации о том, как быстро база данных обработала данные?

Я думаю, я мог бы завершить каждый тест с помощью drop table close connection, чтобы убедиться, что приложению пришлось ждать, пока RDBMS догонит его.

Также использование Eclipse IDE для тестирования СУБД на разных операционных системах резко повлияет на производительность операционных систем, на которых она запущена. (Windows7 Solaris Ubuntu)

Спасибо всем, кто пытается ответить.

Ответ №1:

Использование IDE не повлияет на производительность — запускается обычная JVM.

Что касается другого вопроса — если вы не используете какой-либо асинхронный драйвер (я не знаю, существует ли такой) или не запускаете новые потоки для каждой операции, они синхронны — т. Е. программа ожидает, пока база данных вернет результат (или время ожидания, которое должно быть настраиваемым)

Комментарии:

1. Спасибо за это, поэтому время, необходимое методу для завершения процесса, вероятно, отражает время, за которое RDBMS обрабатывает запрос. Еще раз спасибо!

2. ДА. Таким образом, вы можете попытаться распараллелить выполнение с запуском нескольких потоков, но это может быть сложно.

3. Не забудьте принять во внимание любую задержку в сети, если база данных запущена на отдельном компьютере, особенно если компьютер действительно удаленный.

Ответ №2:

Как правило, все такие вызовы являются синхронными; они блокируются до завершения операции. Если только вы не делаете что-то совсем другое.

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