Соединения довольно дорогие - они соответствуют открытию файла - но курсоры не очень используются, поэтому используйте столько, сколько вам нужно [1] . стоимость означает, что транзакция запускается и особенно фиксируется, когда происходит вставка или обновление (или, если вы, конечно, создаете таблицу или индекс), даже если вы находитесь в режиме автоматической фиксации.Это связано с тем, что ядро базы данных должно синхронизировать данные на диск до того, как оно завершит фиксацию (требуется для обеспечения долговечности), и это просто дорого на современном оборудовании.(Транзакция начинается с стоимости, потому что они требуют некоторой блокировки файла БД, что может оказать влияние.)
Компиляция операторов также может стоить немного;повторно использовать скомпилированные заявления, если это возможно.Конечно, вы должны делать это в любом случае.Зачем?Это потому, что вы никогда не должны помещать пользовательские данные в сгенерированный SQL;Это не только приводит к проблемам с уязвимостями SQL-инъекций, но также заставляет механизм БД перекомпилировать оператор при каждом его запуске.Скомпилированные операторы и безопаснее и (возможно) также быстрее.
[1] Конечно, глупо использовать больше курсоров, чем вам нужно.Это просто напрасная трата времени и усилий.