Я использую sqlite в C#. Чтобы проверить производительность при больших размерах базы данных, я пишу программу для генерации случайных данных, у которых закончилась нехватка памяти. я обнаружил, что создал новый IDbCommand экземпляр сУтечка памяти в SQLite для C#?
IDbCommand cmd = dbConnection.CreateCommand() ;
метода для каждой новой вставки, и это где утечка памяти. И если я назову `
cmd.Dispose();`
после выполнения SQLCommand все в порядке. Обычно не будет большого количества операций, поэтому я не возражаю против потери времени создания нового экземпляра Command для каждой операции. Но если память не будет утилизирована, это проблема.
Это моя обязанность называть cmd.Dispose() или это ошибка sqlite-net?
Почему бы не использовать подготовленную параметризованную команду и использовать ее в цикле? Это будет более эффективным. – Tarik
Даже с помощью подготовленной команды мне все равно нужно создать новую команду для каждого экземпляра верхнего уровня. Я хочу знать, есть ли риск утечки памяти. – iuradz