Легкое разделение таблицы в SQL Server 2005 для таблиц фактов?

Я использовал pssh, и это легко и работает вполне хорошо. Это является действительно большим для быстрых запросов.

Если бы Вы управляете серверами, я предложил бы что-то более устойчивое и в немного отличающейся области (управление конфигурацией), такое как Марионетка или CFEngine.

1
задан 24 August 2009 в 14:02
2 ответа

Разделение таблицы является очень базой данных, конкретной как названия групп файлов, и пути для новых файлов, добавляемых к группам файлов, все характерны для отдельной базы данных.

Необходимо смочь довольно легко настроить хранимую процедуру с необходимыми командами для обработки перемещения данных через разделы.

1
ответ дан 3 December 2019 в 22:51
  • 1
    Необходимо ли предопределить количество разделов при создании схемы выделения разделов прежде, чем составить таблицу? –  Cade Roux 12 August 2009 в 02:01
  • 2
    Вы don' t имеют к, но it' ll делают жизнь легче. Если Ваша таблица является очень большой, и Вы изменяете схему выделения разделов it' ll занимают долгое время для перемещения всех данных в it' s новое местоположение, поскольку данные должны быть физически перемещены от одного файла до другого. –  mrdenny 14 August 2009 в 10:28
  • 3
    Если Вы делаете, отгораживает перегородкой к нескольким годам в будущем Вас won' t испытывают много затруднений. Они разделы don' t занимают место как таковое (независимо, возможно, для некоторой информации заголовка), пока Вы на самом деле не загружаете данные в них, таким образом, there' s никакая значительная стоимость для предварительного создания 5 years' ценность. –  ConcernedOfTunbridgeWells 24 August 2009 в 14:27
  • 4
    Единственные думают для волнения о, здесь должен был бы предварительно выделить все группы файлов. Но если Вы соглашаетесь с наличием устройства хранения данных, находящегося там выполнение ничего, что необходимо быть в порядке. –  mrdenny 24 August 2009 в 15:17

Я имею, вид. При разделении на SQL Server 2005 несколько труден и вероятно не стоит проблемы, если у Вас нет достаточного количества данных для получения реальной победы производительности. Вместо того, чтобы создавать разделы на лету, необходимо просто создать разделы до некоторого периода в будущем. Не стоил чего-либо, пока Вы не помещаете данные в них.

Удаление разделов немного более трудно - необходимо будет сделать таблицу с корректной схемой, и проверочное ограничение на ключ раздела затем делают alter table swap partition. Получение идентификатора раздела может быть немного трудным, но можно сделать это из словаря данных. Я также сделал это однажды путем создания 'лидирующей' таблицы с одной строкой для каждого раздела на той же схеме выделения разделов и выбора $partition. {Функция раздела} от той таблицы, где ключ является соответствующим значением.

Структура таблицы Вашей таблицы царапины должна выстроиться в линию с основной таблицей, включая индексы. Затем Вы выгружаете раздел и отбрасываете таблицу.

Я думаю, что краска является все еще немного влажной при разделении для SQL Server 2005. Существует несколько недостающих возможностей, например, Вы не можете легко создать индексы на определенном разделе; единственный способ постараться не создавать и восстанавливать индексы для целой таблицы фактов состоит в том, чтобы сделать подобный прием с загрузкой данных и из таблицы царапины. SQL Server 2008 также заставляет средство перемещать таблицы между группами файлов, не делая приема кластерного индекса.

Однако я не знаю ни о чем загружаемом для автоматизации этого. Все, что я сделал для этого идентификатора сделай сам и да, это - боль в заднице.

1
ответ дан 3 December 2019 в 22:51

Теги

Похожие вопросы