Во-первых, какую из 2/3 стратегий для хранения капель вы вообще используете? Вот хороший список двух общих подходов и специального подхода к SQL Server, чтобы попытаться объединить их: /
Во-вторых, построение запросов с помощью строковой конформации просто представит вас SQL-инъекциям. Вы действительно должны вместо этого использовать синтаксис параметров SQL. Помимо того, что безопаснее , они могут быть даже быстрее, поскольку серверам SQL не требуется указывать типы. Вы можете явно указать ему типы и правильное отображение.
В-третьих, я полагаю, что вы вызываете функцию типа insert_blob_file в какой-то форме многозадачности. Операции SQL - это сетевые операции, которые могут занимать очень много времени, так или иначе.
Что касается актуальной проблемы: при вставке или обновлении больших объемов данных пакетирование очень важно. Вы хотите сделать достаточно сразу, чтобы избежать накладных расходов. Но не так много, вы в конечном итоге блокируете таблицу и, следовательно, всю БД на очень долгое время. Особенно, если сетевое подключение к клиенту не самое быстрое. Я всегда советую делать массовые вставки на стороне СУБД, чтобы избежать этого, но вряд ли вы можете сделать это здесь.
С каплями каждая вставка должна быть отдельной работой. Даже не пытайтесь делать массовые вставки BLOB-объектов.