Имам около 10 таблици с над 2 милиона записа и една с 30 милиона. Бих искал ефективно да премахна по-стари данни от всяка от тези таблици.
Моят общ алгоритъм е:
- създайте временна таблица за всяка голяма таблица и я попълнете с по-нови данни
- съкратете оригиналните таблици
- копирайте tmp данни обратно в оригинални таблици, като използвате: "вмъкване в оригинална таблица (изберете * от tmp_table)"
Последната стъпка от копирането на данните обаче отнема повече време, отколкото бих искал. Мислех да изтрия оригиналните таблици и да направя временните таблици "постоянни", но губя информация за ограничение/чужд ключ.
Ако изтрия директно от таблиците, отнема много повече време. Като се има предвид, че трябва да запазя всички външни ключове и ограничения, има ли по-бързи начини за премахване на по-старите данни?
Благодаря.