2015-07-27 4 views
4

У нас есть основная таблица, содержащая всех пользователей за последние 1 год, независимо от того, были ли они истекли или активны пользователи, содержащие 70 миллионов записей пользователей.Репликация данных между таблицами с одинаковыми именами столбцов в Mysql

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

Главный стол становится обновляемым/вставленным каждую минуту, так как его очень динамично.

Без пропуска любого пользователя мне нужно вставить все записи (70 миллионов) из основной таблицы в новую таблицу.

Каков наилучший способ для этого? Сколько времени потребуется, чтобы асинхронно вставить 70 миллионов записей.

Имеется ли какая-либо репликация данных?

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

+0

SQL Server или MySQL? – Vatev

+0

@Vatev его MySQL – joe

+0

[это] (http://plusbryan.com/mysql-replication-without-downtime) представляется актуальным. Вам нужно будет создать подчиненный инструмент для его реализации. – Vatev

ответ

0

Простая вставка из списка не решит вашу проблему?

LOCK TABLES `oldtable` WRITE; 
INSERT INTO `newtable` SELECT * FROM `oldtable`; 
UNLOCK TABLES; 
+0

Это временно блокирует приложение, а также любое изменение после того, как копия не может быть синхронизирована. – Vatev

+0

@Vatev, данные здесь не могут быть синхронизированы. Пожалуйста, дайте мне решение, так как мой стол растет с каждым днем. – joe