|
|
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
Есть таблица с операциями по картам клиента. сейчас там 200миллионо записей. В месяц 25-30 тыс активных договоров, генерят 5 мил транзакций. Транзакций у одного клиента от 1 до 60000 в месяц. Идентификатор клиента составной (ID приложения истояника, ID клиента во внеш. прил.). Задача БД выдавать клиенту данные только по нему, т.е. клиент смотрит реестр операций и суммарный оборот за период. Никаких аналитических запросов по всем клиентам в этой бд нет. как правило операции смотрят за месяц. Партиции хочу сделать по дате операции по месяцу. А вот как по клиенту портиции сделать хз. Нарезку по ID внешнего приложения? но тогда при добавлении нового нужно создавать партицию для него все время, а не просто вставить в таблицу EXT_APP. Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 14:10:54 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
внешних приложений сейчас 30, будет 60. Сейчас в одном внешнем приложении от 100-300тыс записей в месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 14:14:16 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
barrabas, партиции по дате дадут выигрыш при получении сводной статистики по всем клиентам. а так, все равно индекс и вероятно разные блоки под каждую дату. но. можно завершенные месяцы перестраивать, кластеризуя по клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 14:20:36 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
barrabasЕсть таблица с операциями по картам клиента. сейчас там 200миллионо записей. ... А вот как по клиенту портиции сделать хз. Что посоветуете? По диапазонам номеров карт не подойдет ? По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 15:24:46 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
schibarrabasЕсть таблица с операциями по картам клиента. сейчас там 200миллионо записей. ... А вот как по клиенту портиции сделать хз. Что посоветуете? По диапазонам номеров карт не подойдет ? По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ? по номерам карт нет, не подойдет. по диапазонам ID, типа partition by hash? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 15:37:44 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
партиции и пелбеиbarrabas, партиции по дате дадут выигрыш при получении сводной статистики по всем клиентам. а так, все равно индекс и вероятно разные блоки под каждую дату. но. можно завершенные месяцы перестраивать, кластеризуя по клиенту. т.е. реально улучшит ситуацию если нарезать по EXT_APP_ID и при добавлении нового внешнего приложения добавлять партицию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 15:41:35 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
barrabas, а зачем вам партиции по клиенту? (как только на этот вопрос ответите - должны появиться варианты решения - например, нафик..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 15:43:52 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
schibarrabasЕсть таблица с операциями по картам клиента. сейчас там 200миллионо записей. ... А вот как по клиенту портиции сделать хз. Что посоветуете? По диапазонам номеров карт не подойдет ? По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ? забыл написать, в некоторых внешних приложениях ID клиенте - varchar2, поэтому и в таблице с операциями ID тоже varchar2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 15:44:05 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
barrabas, Если задача показать конкретному клиенту его месячные операции - то, почему бы просто к партиционированию по дате операции (по месяцам) не добавить локальный индекс по клиенту? Думаю этого будет достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 18:21:00 |
|
||
|
Как нарезать таблицу?
|
|||
|---|---|---|---|
|
#18+
Су-35не добавить локальный индексвставка, вероятно, в порядке времени. шансы, что несколько записей одного клиента окажутся в одном блоке, с учетом тормознуточть пposов, равны нулю. то есть, все равно два-три бранча по индексу и столько блоков, сколько записей. на скорости партиционирование по дате не скажется. оно только позволит оптимизировать хранение для неменяющихся партиций по прошествии даты. лоеальный индекс по клиенту будет неудачен для выборки не за партицию, а за меньший период и больший тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 20:11:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39294021&tid=1887647]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 429ms |

| 0 / 0 |
