Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / CREATE PARTITION FUNCTION / 5 сообщений из 5, страница 1 из 1
22.03.2021, 16:13
    #40055914
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CREATE PARTITION FUNCTION
Всем привет, первый раз разбираюсь с секционированием таблицы, подскажите, как корректно составить функцию и схему для моей таблицы.

Таблица разделена логически по полю PartNumber (int), в данный момент:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select DISTINCT PartNumber from MyTbl
1
2
3
4
5
6
7
8
9
10



Для каждой "пары" пары секций своя ФГ, те:
ФГ1:1+2
ФГ2:3+4
...
ФГ5:9+10

Не допонял, как обозначать грани RIGHT и LEFT

Для своего случая составил вот такую функцию:

Код: sql
1.
2.
3.
CREATE PARTITION FUNCTION PartNumberRange(int)
AS 
RANGE LEFT FOR VALUES (1,2,3,4,5,6,7,8,9,10,11)



Со схемой, не понял, как указать какая секция будет находиться внутри ФГ, интуитивно составил вот такой скрипт:

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE PARTITION SCHEME [PartNumberScheme]
AS 
PARTITION PartNumberScheme TO 
( [FG1], [FG1],  [FG2], [FG2], [FG3], [FG3], 
                          [FG4], [FG4], [FG5], [FG5], 
                          [PRIMARY] )
GO
...
Рейтинг: 0 / 0
22.03.2021, 16:28
    #40055927
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CREATE PARTITION FUNCTION
teCa,

если вы решили что у вас в одну фг ложаться по 2 значения, то у вас и интервалов должно быть меньше в два раза.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE PARTITION FUNCTION PartNumberRange(int)
AS 
RANGE LEFT FOR VALUES (2,4,6,8,10);

CREATE PARTITION SCHEME [PartNumberScheme]
AS 
PARTITION PartNumberScheme TO 
( [FG1],  [FG2], [FG3], [FG4], [FG5], [PRIMARY] )
...
Рейтинг: 0 / 0
22.03.2021, 16:30
    #40055928
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CREATE PARTITION FUNCTION
felix_ff,

Почему? Разве не могут 2 и больше интервала лежать в одной ФГ? В принципе ФГ можно создать и для каждой секции.
...
Рейтинг: 0 / 0
22.03.2021, 16:33
    #40055932
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CREATE PARTITION FUNCTION
teCa,

если справа, то это граница и всё, что меньше, если слева, то граница и всё, что больше до предыдущей или, во втором случае, следующей секции.

В такой транскрипции первая секция получит все отрицательные числа с нулём, последняя - числа, большие или равные 11.
...
Рейтинг: 0 / 0
22.03.2021, 16:35
    #40055933
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CREATE PARTITION FUNCTION
teCa
felix_ff,

Почему? Разве не могут 2 и больше интервала лежать в одной ФГ? В принципе ФГ можно создать и для каждой секции.


Могут.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / CREATE PARTITION FUNCTION / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]