Экстремальное снижение производительности ODBC SQL Server после обновления Windows PHP с 7.3 до 7.4

#php #odbc #php-7.4 #php-7.3 #msodbcsql17

Вопрос:

Есть PHP-скрипт пакетной обработки, который запускает тысячи отдельных выборок odbc_exec() и ВСТАВОК в базу данных SQL Server 2019. После обновления с PHP 7.3 до 7.4 процесс завершается в 7 раз медленнее (за 20 минут до обновления, 180 минут после).

Я не нашел никаких подобных сообщений о проблемах/ошибках и нуждаюсь в помощи в устранении неполадок. Да, возможно, мне придется переписать, чтобы использовать PDO или перейти на хранимую процедуру БД, но я хотел бы понять, что изменилось с PHP или расширением ODBC PHP, чтобы снизить производительность этого скрипта в PHP 7.4.

Примечания по окружающей среде и тестированию

  • Процесс отображает множество относительно небольших записей базы данных (без больших полей nvarchar и т. Д.).
  • Все 64-разрядное программное обеспечение и драйверы.
  • Обновлен предварительно скомпилированный PHP 7.3.32 (TS VC15) для Windows до версии 7.4.25. Также попробовал PHP 8.0, который работает так же медленно.
  • Веб-серверы Windows Server 2019 и SQL — серверы (без изменений во время обновления).
  • Стандартная конфигурация расширения PHP ODBC (без изменений во время обновления).
  • Последний драйвер MS ODBC для SQL Server. Попытался обновить до последней доступной версии (17.8.11).