Очень медленный UPDATE WHERE ORDER BY в mariaDB по вторичному ключу

Перенес данные с серера Ubuntu 16.04 + mySQL (5.7.29) на более мощный сервер Ubuntu 20.04 + mariaDB (10.5.11) и начались тормоза при непрерывном выполнении одного запроса 40ка потоками:

UPDATE `table1` SET dt=40000000$i WHERE dt<4000000000 ORDER BY dt LIMIT 1

где строковая $i принимает значение от '01' до '40', взависимости от номера потока, для поля dt построен вторичный ключ. Этим запросом, я помечаю записи, которые в дальнейшем буду отдельно обрабатывать.

В mytop наблюдаю, что запросы выстраиваются в очередь и выполняются очень долго.

введите сюда описание изображения

Для СУБД mySQL этот запрос не вызывает вопросов и выполняется мгновенно, теми же 40ка потоками.

EXTENDED EXPLAIN для запроса на старой сервере (где все летает):

введите сюда описание изображения

На новом сервере с mariaDB:

введите сюда описание изображения

Нагрузка на сервер введите сюда описание изображения

введите сюда описание изображения

таблица table1 (innoDB) содержит порядка 200млн записей:

CREATE TABLE `table1` (
    `id` INT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
    `dt` INT(10) UNSIGNED NULL DEFAULT '0',
    # поля с данными
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `dt` (`dt`) USING BTREE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

Пробовал сортировку по первичному ключу - тормозов нет. (но этот способ не подходит)

Скажите, почему так происходит? в mySQL все летает, в mariaDB - жуткие тормоза. Возможно нужно как-то иначе настроить конфиг mariaDB? На какие параметры обратить внимание?

Вот некоторые установки mariaDB:

innodb_lock_wait_timeout=600
innodb_buffer_pool_size=90G
innodb_buffer_pool_instances=8 (хотя в документации пишут, что параметр устарел)
innodb_flush_method=O_DIRECT_NO_FSYNC (пробовал разные варианты - не помогло)

и еще некоторые параметры со значениями равными значениям на предыдущем сервере:

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 128M
table_open_cache = 256
sort_buffer_size = 32M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M

Ответы (0 шт):