У мене близько 84 мільйонів рядів. З цих усіх їх потрібно перенести в окрему базу даних на одному сервері, тоді я видаляю, щоб видалити близько 60 мільйонів рядків із вихідної бази даних.
84 мільйони рядків - це все в одній таблиці. Сама таблиця становить 90% всієї бази даних.
Отже ... Джерело: 84 мільйони рядків -> 24 мільйони рядків Місце призначення: 0 рядків -> 84 мільйони рядків
Джерело працює в повному режимі відновлення, призначення буде працювати просто.
Мені цікаво, який би був найефективніший спосіб зробити це?
План A:
1) ВСТАВКА В НАЗАД, ВИБІРТИ * З джерела
2) джерело TRUNCATE
3) ВСТУПИТИ В Джерело SELECT * ІЗ місця призначення, Звідки Keep_condition = 1
План Б:
1) Відновлення резервної копії вихідної бази даних як бази даних призначення
2) Опускайте всі таблиці, крім тієї, яка потрібна в базі даних призначення
3) джерело TRUNCATE
4) ВСТУПИТИ В Джерело SELECT * ВІД місця призначення, де Keep_condition = 1
План C:
1) ВСТАВКА В НАЗАД, ВИБІРТИ * З джерела
2) ВИДАЛИТИ джерело, де зберігати_умова = 0
чи щось інше?
Дякую