Показать сообщение отдельно
Старый 10.02.2010, 20:49   #3  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от art Посмотреть сообщение
Суть задачи - уменьшить размер базы за счет переноса данных из 4 таблиц (32,339,5802,17) из рабочей базы в "Архивную", и изменить нумерацию в поле Entry No.
Поссмотри как в 3.60 - 3.70 сделана компрессия. Они вроде почти не сбоила при сжатии (по ЛОТ и серийникам немного повозились.). По аналогии можно сделать 5802, 17, 12401, измерения. Правда стандартно будет долго работать.
Цитата:
Есть база данных на Торговой Точке. Таблице32 (339,5802,17) начинает нумерацию операций (поле Entry No.) с 50 000 000. Рассчитано что на этот магазин достаточно 9 999 999 записей (по крайней мере на ближайшие несколько лет). Есть база Центарльного Офиса куда попадают все операции с Торговой точки.
Предполагаем что мы подошли к операции под номером 59 999 999. Больше нет возможности использовать номера (60 000 000 и т.д. так как этот диапазон предназначен для другой Торговой Точки). По задаче мне необходимо:

1. весь прошлый год (2006,2007,2008 на ТТ и в ЦО одновременно ) перебросить в "архивные базы" (это примерно 7 млн. записей)
2. произвести перенумерацию оставшихся записей (те записи которые шли под номером 57 000 001 перенумеровать в 50 000 000)
Готового у меня нет, но идея простая. Остановить перенос (и элементы генерации данных для переноса), создать дополнительные таблицы, где кроме Entry No. например добавить "итерация Но." и сделать перенос (а может и сначала компрессию), а остальное перенумеровать.
Уточнение - через НАВ будет долго и нужно смотреть все связи по 32, например связка с 339.

P.S. Для себя бы я сделал как сделана компрессия 3.60 - 3.70 (ЗА 4-ку не помню), но в дополнительную таблицу.