Переход с драйвера FreeTDS на драйвер MSODBC17
Мне нужно было изменить наш sql-драйвер с FreeTDS на msobdc17 для поддержки msi. Проблема приводит к ухудшению наших операций вставки. В частности, когда мы вставляем массово (с размером пакета ~=50), производительность сильно снижается для параллельных процессов, обращающихся к одной и той же базе данных (хотя и с другим соединением). Я получаю следующую ошибку, вероятно, связанную:
Операция транзакции не может быть выполнена, потому что есть ожидающие запросы, работающие с этой транзакцией
Я использую следующую стековую среду:
python:3.7.5-slim-stretch (Linux container)
msodbcsql17=17.6.1.1-1
mssql-tools=17.6.1.1-1
unixodbc-dev=2.3.7
Django==1.11.29
django-pyodbc-azure==1.11.15.0
pyodbc==4.0.30
до этого у нас был FreeTDS с версиями:
freetds-dev=0.91-6.1+b4
freetds-bin=0.91-6.1+b4
tdsodbc=0.91-6.1+b4
К настоящему времени я пробовал "поиграть" с:
- Включение MARS
- Включение соединений пула
- Набор
Threading=1
вodbcinst.ini
Ничего из этого не помогло.
Кто-нибудь сталкивался с этой проблемой или какие-либо предложения по параметрам конфигурации могут помочь?