Секционирование — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Структура страницы)
 
(управление секциями дополнено)
Строка 36: Строка 36:
 
   '''alter table''' <font color=red>таблица</font> '''coalesce partition''' <font color=red>число</font>''';'''
 
   '''alter table''' <font color=red>таблица</font> '''coalesce partition''' <font color=red>число</font>''';'''
  
TBC
+
==== Отбрасывание секций ====
 +
Оптимизатор запросов умеет использовать секционирование для повышения производительности. Например, может быть оптимизирована операция '''select''' со сравнениями, '''=''', '''in''', '''between'''.
 +
 
 +
==== Индексы ====
 +
 
 +
Индексы могут быть секционированы.

Версия 20:29, 12 декабря 2021

Определение:
Секционирование — это разделение таблицы базы данных на отдельные фрагменты с раздельными настройками физического хранения.


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

Типы секционирования

Вертикальное

TBF

Горизонтальное

TBF

Методы секционирования

  • Простые
    • По диапазонам
    • По значениям
    • По хешу
  • По выражению
  • Составные
    • По диапазону и хешу
    • ...

Управление секциями

Удаление секции

 alter table таблица drop partition секция;

Разбиение секции

 alter table таблица reorganize секция into (...);

Перехеширование

 alter table таблица add partition число;
 alter table таблица coalesce partition число;

Отбрасывание секций

Оптимизатор запросов умеет использовать секционирование для повышения производительности. Например, может быть оптимизирована операция select со сравнениями, =, in, between.

Индексы

Индексы могут быть секционированы.