Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как рациональнее перекинуть данные в другую таблицу  [new]
exw777
Member

Откуда:
Сообщений: 41
Имеется две одинаковые по структуре таблицы new и old.
Текущие данные таблицы old не нужны, их нужно заменить данными из таблицы new, и затем таблицу new очистить.
Как лучше будет сделать -
1) truncate таблицу old, через insert записать данные из таблицы new, truncate таблицу new.
2) переименовать таблицу old в таблицу temp, таблицу new в таблицу old, temp в new.
3) удалить old, переименовать new в old. создать с нуля чистую new
8 апр 14, 12:14    [15848431]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
В случаях 2) и 3) права доступа к таблице могут измениться. Потому что объекты разные
И что вы понимаете под "рациональностью" ?
8 апр 14, 12:19    [15848481]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
exw777
Member

Откуда:
Сообщений: 41
Glory,
Разницу по времени, если таких таблиц много, ну и опять же меньшее количество всевозможных накладок
8 апр 14, 12:22    [15848505]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
exw777
Разницу по времени, если таких таблиц много, ну и опять же меньшее количество всевозможных накладок

разумеется переименование таблиц займет меньше всего времени
Потому что это будет только изменение метаданных
8 апр 14, 12:24    [15848530]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
exw777
Member

Откуда:
Сообщений: 41
в т.ч. по количеству обращений к диску, ресурсы оперативной памяти
8 апр 14, 12:24    [15848531]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
exw777
в т.ч. по количеству обращений к диску, ресурсы оперативной памяти

Переименование объекта - это замена инофрмации в одном поле одной записи одной системной таблицы
8 апр 14, 12:28    [15848577]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
а секционирование вы не рассматривали?
8 апр 14, 13:43    [15849297]     Ответить | Цитировать Сообщить модератору
 Re: Как рациональнее перекинуть данные в другую таблицу  [new]
exw777
Member

Откуда:
Сообщений: 41
edyaN,

может быть не имеет смысла для текущей задачи, а может и имеет, так как суммарно все прочие запросы на операции с удалением/добавлением данных в таблицах выполняются за 50 сек первый раз, далее, удалив базу данных и запустив по новой - второй и последующие такие операции - уже 12-15 сек, причем упирается в HDD, а переименовывание само по себе заняло очень незначительное время
8 апр 14, 16:30    [15850827]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить