Online Documentation for SQL Manager for MySQL

Секционирование


Секционирование (партиционирование, partitioning) — это разбиение больших таблиц на логические части по выбранным критериям.

Важно: Партиции доступны только с версии сервера 5.1. Недоступны для таблиц, имеющих механизм хранения Federated.

Задаются настройки секционирования на вкладке Partitions при создании таблицы.

 

New Table - Partitions

 

 

Partitions options

 

Partition type

Из раскрывающегося списка Partition type необходимо выбрать способ разделения данных.

  • Range - по диапазону значений.

Например:

PARTITION BY RANGE (store_id)

PARTITION p0 VALUES LESS THAN (10),

  • List - по точному списку значений.

PARTITION BY LIST(store_id)

PARTITION pNorth VALUES IN (3,5,6,9,17),

  • Hash - указывает, по какому полю строить хеш и сколько «подтаблиц» создавать. Секция выбирается в зависимости от значения, возвращаемого пользовательским выражением. Функция может состоять из любого выражения действительного в MySQL, которое возвращает неотрицательное целое число.
  • Linear Hash - используется для обеспечения равномерного распределения данных между определенным количеством разделов. Необходимо указать значение столбца или выражение, основанное на значении столбца которое будет хешировано, и количество разделов, на которые секционированная таблица должна быть разделена.
  • Key - по ключу.

PARTITION BY KEY(s1)

PARTITIONS 10;

Выборка по указанному ключевому полю происходит максимально эффективно.

 

 

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

 

Partition expression

Выражение или значение по которому будет происходить разделение.

 

New Table - Partitions_Edit

 

Partition name - имя партиции.

Partition value -невключенная верхняя граница текущей партиции.

Comment - комментарий.

 

Параметр Partition value указывается только для секционирования по диапазону значений (Range). в партицию включены все значения, которые меньше значения, указанного в поле Partition value.

 

Список значений доступен при создании партиции типа List. Окно задания списка открывается при нажатии кнопки EllipsisButton.

 

New Table - Partitions - List of values

Value - значение списка

Add - добавить значение в список.

Replace - переместить выбранное в списке значение.

Remove - удалить выбранное значение из списка.

Up, Down - перемещать выбранные значения внутри списка.

 

Subpartition type

Подразбиение (Subpartition) - это дальнейшее разделение каждой секции в секционированной таблице.

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

 

Важно: В MySQL version 5.5 можно создать субпартиции только для типов range или list.

 

Subpartition expression - выражение по которому будет производиться разбиение на субпартиции.

 

Важно: Значения, указанные в полях Subpartition type и Subpartition expression будут применены ко всем субпартициям таблицы.

 

Контекстное меню

С помощью контекстного меню, открывающегося при нажатии правой кнопкой мыши на список, Вы можете:

iconPartitions_NewPartition New partition - создать партицию.

iconPartitions_EditPartition Edit partition - редактировать партицию.

iconPartitions_DropPartition Drop partition - удалить партицию.

iconPartitions_AddSubpartition Add subpartition - создать субпартицию.

iconPartitions_EditSubpartition Edit subpartition - редактировать субпартицию.

iconPartitions_DropSubpartition Drop subpartition - удалить субпартицию.