|
|
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. У меня есть таблица с большим количеством записей. В ней было около 100 партиций Данную таблицу я проапдейтила по всем записям нескольких полей. В ней был индекс. И перед апдейтом для увеличения скорости я этот индекс удалила. DDL таблицы выглядил так Код: 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. Партиций как я уже сказала сейчас 100 шт. И кроме партиции указанной в DDL (VCT_ATTR_OBJECT) их теперь много с именами SYS_P74658 SYS_P74659 .... теперь после апдейта я вновь хочу СОЗДАТЬ мой индекс через Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. выдается ошибка авторORA-14024: число секций LOCAL индекса и соответствующей таблицы должны совпадать 14024. 00000 - "number of partitions of LOCAL index must equal that of the underlying table" *Cause: User attempted to create a LOCAL partitioned index with a number of partitions which is different from that of the underlying table. Action: Correct the CREATE INDEX statement to specify a correct number of partitions подскажите как мне на уже имеющиеся 100 партиций прописать в запросе создание индекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 11:23 |
|
||
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
У тебя очень интересный подход к указыванию ТП для секций по-умолчанию (как для таблицы, так и индекса), так и собственно определенных секций Может достаточно просто назначить ТП для всех секций индекса и сказать LOCAL (не перечисляя секции) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 11:44 |
|
||
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровУ тебя очень интересный подход к указыванию ТП для секций по-умолчанию (как для таблицы, так и индекса), так и собственно определенных секций Может достаточно просто назначить ТП для всех секций индекса и сказать LOCAL (не перечисляя секции) это такой DDL автоматом сгенерился. Система и БД готовая в программном комплексе >>Может достаточно просто назначить ТП для всех секций индекса и сказать LOCAL просто не хочется перемудрить и не попортить таблицу. Данные все праздники грузились с эту большую таблицу. как лучше сделать? каждой партиции скриптом назначить ТП, а LOCAL где указать нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 11:52 |
|
||
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
Да что уж с данными-то случится, они уже в таблице (хуже уже некуда ) Еще раз -- что ты хочешь получить?? Обозвать каждую секцию индекса как-то оригинально и поместить ее в свое отдельно ТП -- формируй скрипт на основании, например, USER_TAB_PARTITIONS Код: 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. Забить на их названия (пусть называются как секции таблицы) и запихать их в одно ТП -- просто не указывай секции Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Все остальные секции именовались автоматом и укладывались в SMALL_DATA и LARGE_IDX Ну и пусть у тебя будет Код: plsql 1. 2. А потом сделаешь REBUILD секции VCT_ATTR_OBJECT в ТП BIG_DATA (если оно вообще надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 12:11 |
|
||
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
Ольга СеменоваВ ней было около 100 партиций А не перебор ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 12:42 |
|
||
|
Создание индекса на партиционированной таблице
|
|||
|---|---|---|---|
|
#18+
Вдогонку к сказанному Вячеславом, если названия важны, ничто не мешает партиции индекса потом переименовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2019, 18:11 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39756306&tid=1882963]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 422ms |

| 0 / 0 |
