У меня проблема с буферизацией таблицы InnoDB, которую я не могу понять:
- У меня есть таблица с 5 столбцами, из которых 4 столбца составляют первичный ключ, и есть еще 3 вторичных ключа; в этой таблице массовая вставка занимает очень много времени - до 400 секунд на 100 000 записей (то есть всего 250 записей в секунду)
- Если все вторичные индексы отброшены, вставки выполняются очень быстро - 20 секунд для 100 000 записей (5000 записей в секунду или в 20 раз быстрее)
- Если я добавлю хотя бы один вторичный ключ в один столбец идентификатора пользователя bigint, который также является частью первичного ключа (мне часто нужно искать данные конкретных пользователей), вставки сразу становятся 3-4 раз медленнее.
Что здесь происходит? Я подозреваю, что ответ заключается в том, как InnoDB хранит индексы, но после большого чтения я не могу понять это. Самое странное, что одна и та же таблица со всеми добавленными индексами с движком MyISAM всегда работает со скоростью 5000 записей в секунду.