Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Interval по неровному диапазону / 7 сообщений из 7, страница 1 из 1
21.12.2017, 09:35
    #39573285
Foxter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Interval по неровному диапазону
Доброе утро!

Есть таблица, в которой есть поле периода, к которому относятся данные. Это поле имеет значения наподобие 201401, 201402 (т.е. год и месяц). Поле имеет числовой тип для ускорения поиска.

Можно ли сделать секционированную таблицу с динамическим добавлением секций как с датой (по месяцам) только по числу? Диапозон - то получается неровный. Если можно, то подскажите, пожалуйста, как ))
...
Рейтинг: 0 / 0
21.12.2017, 10:13
    #39573315
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Interval по неровному диапазону
interval partitioning + check constraint для ограничения на минимальное и максимальное значения.
...
Рейтинг: 0 / 0
21.12.2017, 11:17
    #39573358
Foxter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Interval по неровному диапазону
AmKadinterval partitioning + check constraint для ограничения на минимальное и максимальное значения.

Я понимаю, что interval partitioning. Просто незнаю как указать этот интервал. Если с датами мы можем указать INTERVAL (INTERVAL '1' MONTH), то здесь интервал 201401 - 201412 - по единице - 1, а следующий шаг - 201501 - 89.
...
Рейтинг: 0 / 0
21.12.2017, 11:29
    #39573372
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Interval по неровному диапазону
авторто здесь интервал 201401 - 201412 - по единице - 1, а следующий шаг - 201501 - 89.
Ну так и задать - инкремент по единице, остальные 89 партиций созданы не будут, но окажут влияние на максимально допустимое значение ключа партиционирования.
...
Рейтинг: 0 / 0
21.12.2017, 11:33
    #39573374
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Interval по неровному диапазону
Ограничение на допустимость значений рулится FK/check constraint-ами
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
column table_name          format a30
column partition_name      format a30
column high_value          format a30

drop table foxterrier purge;

Таблица удалена.


create table foxterrier
(yearnum number
)
partition by range(yearnum) interval (1)
(partition foxterrier#201801 values less than (201801)
);

Таблица создана.


insert into foxterrier(yearnum)
select 201801 + level - 1
from dual connect by level <= 12;

12 строк создано.


insert into foxterrier(yearnum)
select 201901 + level - 1
from dual connect by level <= 12;

12 строк создано.


commit;

Фиксация обновлений завершена.


select *
from foxterrier
order by yearnum;

   YEARNUM
----------
    201801
    201802
    201803
    201804
    201805
    201806
    201807
    201808
    201809
    201810
    201811
    201812
    201901
    201902
    201903
    201904
    201905
    201906
    201907
    201908
    201909
    201910
    201911
    201912

24 строк выбрано.


select table_name, partition_name, high_value, partition_position
from user_tab_partitions
where table_name = 'FOXTERRIER'
order by partition_position;

TABLE_NAME                     PARTITION_NAME                 HIGH_VALUE                     PARTITION_POSITION
------------------------------ ------------------------------ ------------------------------ ------------------
FOXTERRIER                     FOXTERRIER#201801              201801                                       1
FOXTERRIER                     SYS_P21432                     201802                                       2
FOXTERRIER                     SYS_P21433                     201803                                       3
FOXTERRIER                     SYS_P21434                     201804                                       4
FOXTERRIER                     SYS_P21435                     201805                                       5
FOXTERRIER                     SYS_P21436                     201806                                       6
FOXTERRIER                     SYS_P21437                     201807                                       7
FOXTERRIER                     SYS_P21438                     201808                                       8
FOXTERRIER                     SYS_P21439                     201809                                       9
FOXTERRIER                     SYS_P21440                     201810                                      10
FOXTERRIER                     SYS_P21441                     201811                                      11
FOXTERRIER                     SYS_P21442                     201812                                      12
FOXTERRIER                     SYS_P21443                     201813                                      13
FOXTERRIER                     SYS_P21444                     201902                                      14
FOXTERRIER                     SYS_P21445                     201903                                      15
FOXTERRIER                     SYS_P21446                     201904                                      16
FOXTERRIER                     SYS_P21447                     201905                                      17
FOXTERRIER                     SYS_P21448                     201906                                      18
FOXTERRIER                     SYS_P21449                     201907                                      19
FOXTERRIER                     SYS_P21450                     201908                                      20
FOXTERRIER                     SYS_P21451                     201909                                      21
FOXTERRIER                     SYS_P21452                     201910                                      22
FOXTERRIER                     SYS_P21453                     201911                                      23
FOXTERRIER                     SYS_P21454                     201912                                      24
FOXTERRIER                     SYS_P21455                     201913                                      25

25 строк выбрано.

...
Рейтинг: 0 / 0
21.12.2017, 11:52
    #39573403
Interval по неровному диапазону
AmKad
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
TABLE_NAME                     PARTITION_NAME                 HIGH_VALUE                     PARTITION_POSITION
------------------------------ ------------------------------ ------------------------------ ------------------
FOXTERRIER                     SYS_P21441                     201811                                      11
FOXTERRIER                     SYS_P21442                     201812                                      12
FOXTERRIER                     SYS_P21443                     201813                                      13
FOXTERRIER                     SYS_P21444                     201902                                      14
FOXTERRIER                     SYS_P21445                     201903                                      15
...
FOXTERRIER                     SYS_P21453                     201911                                      23
FOXTERRIER                     SYS_P21454                     201912                                      24
FOXTERRIER                     SYS_P21455                     201913                                      25

25 строк выбрано.

А это так и должно быть?
...
Рейтинг: 0 / 0
21.12.2017, 11:56
    #39573410
Interval по неровному диапазону
Нашел у Кайта asktom.oracle.com
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Interval по неровному диапазону / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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