Хочу ускорить импорт такого дампа с БД, выполненного при помощи mysql.
<resultset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="created_at_timestamp">1558316800</field>
<field name="uid">908391749403340835</field>
<field name="language">en</field>
<field name="full_text">Yes but it didn't say</field>
</row>
<row>
...
Импортирую в такую схему
CREATE TABLE `discord_messages` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`uid` varchar(40) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`created_at_timestamp` int(11) NOT NULL,
`full_text` text COLLATE utf8mb4_bin,
`language` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`text_len` int(11) DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `uid_index` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
В клиенте mysql:
LOAD XML CONCURRENT LOCAL INFILE '/tmp/dump-discord.xml' INTO TABLE discord_messages;
Итого, за 6 часов! Процессор молотил прилично.
Query OK, 362934 rows affected (5 hours 58 min 48.856 sec)
Records: 362934 Deleted: 0 Skipped: 0 Warnings: 0
С чем это связано? Со сжатием (сейчас попробую кстати)?
MariaDB 10.3.35
Добавлено
Пробую без сжатия и уникального индекса. Отпишусь позже.