2014-09-09 5 views
0

У меня есть таблица с около миллиона записей внутри. В настоящее время он вырос до 2 ГБ. Мне нужно разбить эту таблицу или любой другой метод, чтобы уменьшить эту таблицу.Sql Server - Работа с большой таблицей

Что я имел в виду секционирования разбивает таблицу на TableName_1, TableName_2 когда размер растет & комбинируя их извлечения данных

Есть ли способ, чтобы выполнить это?

+4

_ "таблица с примерно один миллион записей" _ не _большими_. Вы имеете в виду _billion_ вместо этого? –

+0

Это крошечный размер данных. Вы оптимизируете неправильную вещь, как насчет того, чтобы вы опубликовали проблему, а не воспринимаемое решение? –

+0

Вам нужно разбить таблицу на SQL Server? Возможно, вы могли бы провести некоторое исследование этой точной темы и опубликовать конкретную проблему. Например, подумайте о том, что является лучшим столбцом для разделения. –

ответ

2

Во-первых, 1 миллион строк действительно не так много, и не стоит 2 ГБ стола.

Чтобы ответить на ваш вопрос, да, table partitioning полностью поддерживается в SQL Server.

Вы можете, например, разбивать между историческими и «недавними» или «активными» данными на основе поля даты. В качестве альтернативы вы можете разделить географическую сегментацию и, таким образом, распространить данные на основе поля страны. (Оба примера горизонтального разбиения).

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

Подробнее: MSDN - Table Partitioning (explains horizontal and vertical partitioning)

0

Ваши предположения, что у вас есть большой стол, и вы должны разделить это неправильно.

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

Смежные вопросы