|
|
|
Как партицировать таблицу?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть список клиентов, которые в течении года приходят и уходят, хочется раз в год ушедших в прошлом году клиентов выделить в отдельную партицию и отключить в дальнейшем. А вернее весь хлам от клиентов: - список товаров ~1млн записей для одного клиента - у каждого товара от 1 до 20 различных свойств(строка до 2000 символов) Если со списком товара еще можно как-то работать, а вот с таблицей свойств уже невозможно, потому-что они постоянно меняются добавляются, постоянная конкуренция, круглосуточный insert или update. Все, что приходит в голову: 1. конечно возможно это безумие, но все же - автоматически выделять партицию для каждого клиента(я про таблицу свойств). пока даже не знаю возможно ли такое, видел примеры про интервалы, но там везде для даты, а у меня тут даты нет, есть id клиента. 2. двигать ненужные данные в отдельные партиции раз в год, но мне кажется это долго, все равно что партицировать огромную таблицу. 3...? Клиентов порядка 20 000. Посоветуйте что-нибудь, или подскажите что почитать. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2017, 20:27 |
|
||
|
Как партицировать таблицу?
|
|||
|---|---|---|---|
|
#18+
По ID клиента прекрасно будет партиционироваться и последующим удалением партиций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2017, 12:27 |
|
||
|
Как партицировать таблицу?
|
|||
|---|---|---|---|
|
#18+
Сделал вариант с отдельной партицией под каждого клиента: create table order_attr( clientid number(20), orderid number(20), -- udate date, attrid number(20), val varchar2(2000) ) partition by range (clientid) INTERVAL(1) ( PARTITION FIRST VALUES LESS THAN (2) ) ; create index order_attr_orderid_i on order_attr (orderid) local; Все вроде работает, новые клиенты выделяются в отдельные партиции. Проверил отключение: create table order_attr_arc as select * from order_attr where rownum < 1; create index order_attr_arc_orderid_i on order_attr_arc (orderid); alter table order_attr exchange partition SYS_P33250 with table order_attr_arc including indexes with validation; Остается надеяться, что автоматическое выделение партиций не будет требовать много ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 06:28 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39410209&tid=1886370]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 353ms |

| 0 / 0 |
