Sobes.tech
Senior

Wenn du eine normale SELECT machst, wie viele Anfragen sendet der Treiber an Postgres? Welche Anfragen und was wird dort sein?

sobes.tech KI

Antwort von AI

При выполнении обычного SELECT через JDBC-драйвер к Postgres обычно отправляется один SQL-запрос — сам SELECT.

Процесс примерно такой:

  1. Клиент (приложение) отправляет один SQL-запрос на сервер Postgres.
  2. Сервер обрабатывает запрос, выполняет выборку данных.
  3. Сервер возвращает результат (набор строк) клиенту.

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

Если используется подготовленный запрос (PreparedStatement), то драйвер может сначала отправить запрос на подготовку (Parse), затем на выполнение (Execute), но это всё происходит в рамках одного логического запроса.

Пример:

SELECT id, name FROM users WHERE active = true;

Отправляется один запрос, возвращается набор строк с id и name активных пользователей.