Your program starts
Connect to database
do some SQL (selects/inserts/whatever)
do some more SQL (selects/inserts/whatever)
do some more SQL (selects/inserts/whatever)
...
Disconnect from database
Your program ends
То есть, держать соединение открытым столько времени, сколько необходимо во время выполнения программы. (Даже если вы не отключите явно, прекращение вашей программы приведет к завершению. Это важно отметить при работе с веб-сайтом - каждая «страница» по сути является отдельной «программой»; соединение БД не может быть удержано. между страницами.)
У вас есть еще один подразумеваемый вопрос ... "Должен ли я сразу получить пакет строк, а затем обработать их в клиенте?" Ответ "Это зависит".
- Если обработка может быть выполнена в SQL, , вероятно, гораздо эффективнее делать это там. Пример: суммирование некоторых чисел.
- Если вы извлекаете несколько строк из одной таблицы, то для каждой из этих строк извлекайте строки из другой таблицы ... Будет гораздо эффективнее использовать SQL
JOIN
.
«Дозировка» может быть неактуальной. Интерфейс клиента, вероятно,
Fetch rows from a table (possibly all rows, even if millions)
Look at each row in turn.
Пожалуйста, укажите особенности того, что вы будете делать с миллионами строк, чтобы мы могли обсудить более конкретно.
Цикл опроса:
Если вы проверяете, что нужно делать, только раз в минуту, переподключайтесь каждый раз.
Учитывая это, нет смысла зависать в наборе результатов между пулами.