Как разделить таблицу в MySQL, которая имеет 2 миллиона записей - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть таблица, которая содержит около 2 миллионов записей, все из которых для одного узла.Я не могу разбивать на основе даты, поскольку данные постоянно вставляются и удаляются каждый день.

Остальные данные представлены в строковом формате.

Каждые 15 минут приложение создает резервные копии из этой таблицы (толькочастичные данные, которые были собраны за эти 15 минут);во время выполнения этой операции таблица заблокирована и недоступна.

Какой тип разбиения можно использовать для решения этой проблемы?

1 Ответ

0 голосов
/ 17 ноября 2017

Если проблема, которую вы пытаетесь решить, - это блокировка резервной копией, разделение не поможет решить эту проблему.

Кроме того, существуют лучшие решения, позволяющие избежать блокировки во время резервного копирования.Эти решения одинаково хорошо работают с секционированными таблицами или без них.

Если вы используете таблицы InnoDB (, что вам следует ), вы можете вывести данные с изоляцией транзакции вместо блокировки.

mysqldump --single-transaction mydatabase mytable ...

Прочтите руководство для получения дополнительной информации: https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

Вы также можете использовать Percona XtraBackup для создания физической резервной копии вместо дампа данных.Это также зависит от использования таблиц InnoDB.Percona XtraBackup - бесплатное программное обеспечение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...