Как добавить столбец в таблицу, содержащую миллионы данных

#mysql #database #mariadb

#mysql #База данных #mariadb

Вопрос:

Мне нужно добавить дополнительный столбец в таблицу live DB, которая содержит миллионы данных. Я использую maria 10.0. Есть ли какие-либо инструменты? или кто-нибудь может предложить лучший метод для этого процесса.

Комментарии:

1. Я действительно не вижу особого способа ускорить это, кроме возможной проблемы с индексами, которые уже существуют в вашей таблице. Если добавление нового столбца приведет к перестройке индекса, возможно, вы можете рассмотреть возможность отключения / удаления индексов перед добавлением нового столбца.

2. percona.com/blog/2014/11/18/avoiding-mysql-alter-table-downtime

3. Я не говорю, что это отличная идея, но вы могли бы создать дополнительную таблицу, которая просто присоединяется к вашей существующей таблице в соотношении 1-1

4. @Strawberry Если я создам дополнительную таблицу, мне придется добавить дополнительное объединение, которое приведет к замедлению других процессов.

5. Это утверждение или вопрос?

Ответ №1:

В MariaDB 10.3 есть функция «instand add column», которая делает такую операцию действительно быстрой.

https://mariadb.com/kb/en/library/instant-add-column-for-innodb/

Поскольку срок службы MariaDB 10.0 подходит к концу («EOL») в этом месяце, в любом случае, следует рассмотреть возможность обновления до более поздней версии?

Комментарии:

1. В MySQL 8.0 также есть функция мгновенного добавления столбца. Эта функция является примером того, что кто-то, не работающий в Oracle или MariaDB, вносит свой вклад в код.

2. Правильно… У меня был этот вопрос в моем потоке тегов «mariadb», не заметил, что он также был помечен как «mysql»