Документация по этому поводу расплывчата:
Из void QSqlQuery :: clear ():
Очищает набор результатов и освобождает все ресурсы, удерживаемые запросом. Устанавливает состояние запроса в неактивное. Вам следует редко, если вообще когда-либо, вызывать эту функцию.
Из void QSqlQuery :: finish ():
Сообщите драйверу базы данных, что из этого запроса больше не будут извлекаться данные до его повторного выполнения. Обычно нет необходимости вызывать эту функцию, но она может быть полезна для освобождения ресурсов, таких как блокировки или курсоры, если вы собираетесь повторно использовать запрос в более позднее время.
Устанавливает запрос в неактивный. Связанные значения сохраняют свои значения.
Одно подразумевает другое? Какие ресурсы будут освобождены в каждом случае? Почему я должен использовать один вместо другого?