|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите, пожалуйста, куда копнуть. Есть секционированная таблица 2 Гб (1 партиция) и у нее 483 партиции индекса на 70 Гб в сумме и каждый день растет, только и успеваю добавлять место в табличном пространстве. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 11:02 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Покажите скрипты на создание таблицы и индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 11:27 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Deemaas, Для начала покажите, как считаете, и DDL объектов. Но вообще такое бывает при обилии INSERT-DELETE-INSERT циклов при работе ПО (происходит фрагментация индексов). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 11:36 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Asmodeus Deemaas, Для начала покажите, как считаете, и DDL объектов. Но вообще такое бывает при обилии INSERT-DELETE-INSERT циклов при работе ПО (происходит фрагментация индексов). при условии, что вновь вставленный в индекс ключ не совпадает с удаленным. При этом должен заметно деградировать index full scan и диапазонный поиск, попадающий на образовавшиеся в индексе пустоты. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 11:50 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
DDL индекса должен дать ответ. Подозреваю, что речь идет о глобально-секционированном либо функциональном индексе. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:01 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
если он локальный, партиции построены по не падающему на индекс правилу, row movement между партициями разрешен, и ключ в индексе типа, на сиквенсе, то есть, перемещенное значение не замещается аналогичным значением при последующих вставках в активную партицию, то что бы могло предотвратить подобное поведение? Это, кстати, к классическому вопросу о том, почему орм-ам страсть как нужны фиктивные ключи, а базе данных они не обязательно во всех случаях хороши, могут оказаться и противны. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:25 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
booby если он локальный, партиции построены по не падающему на индекс правилу, row movement между партициями разрешен, и ключ в индексе типа, на сиквенсе, то есть, перемещенное значение не замещается аналогичным значением при последующих вставках в активную партицию, то что бы могло предотвратить подобное поведение? Это, кстати, к классическому вопросу о том, почему орм-ам страсть как нужны фиктивные ключи, а базе данных они не обязательно во всех случаях хороши, могут оказаться и противны. а, полная очистка левого конца индекса должна была бы стабилизировать ситуацию. Вероятно, она не полная. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:31 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
КМК, alter index coalesce поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:41 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Немного подправил DDL-запрос, заменив реальные имена, т.к. не уверен, что могу отправить оригинальные Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И далее 500 партиций ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:42 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
PuM256 КМК, alter index coalesce поможет. Это я booby писал, не ТС. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:52 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
PuM256, почему мне? coalesce почти обязан помочь. В общем, он имени борьбы с такого рода процессами и придуман. Так что, тсу он интереснее может оказаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:55 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Deemaas, dog_ref какой природы зверь и что там с insert-delete-insert? повторится у следующего insert-а полный ключ, или хотя бы dog_ref, если предыдущему сделали delete? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 12:59 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Deemaas секционированная таблица 2 Гб ( 1 партиция ) и у нее 483 партиции индекса на 70 Гб Deemaas Код: plsql 1.
И далее 500 партиций Что-то концы не сходятся... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 13:06 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
andrey_anonymous, Да, вы правы я косякнул, партиций поровну, что таблицы что индекса, просто индексы весят намного больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 13:16 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Ну тогда, видимо, все-таки вариация на тему coalesce, rebuild или rebuild online индекса и консультация с архитектором на тему модели его применения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 13:18 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Deemaas, Что-то я не понял. 1 партиция таблиции весит 2 Гб, а все партиции индекса суммарно (в количестве 483 шт.) - 70? Где здесь намного больше? 1 партиция индекса весит в среднем 70/483 = 145 Мб, получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 14:03 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
PuM256, Вся таблица 2 Гб ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 15:16 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
А покажите, как смотрите. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 15:48 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
PuM256, Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 16:26 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
При обращении с DBA_ и ALL_ не следует забывать про owner-а. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 16:33 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
SQL*Plus Покажите скрипты на создание таблицы и индекса. Физические параметры хранения приводить не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 17:10 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Решение. Разработчик заложил слишком большой INITIAL у партиций индексов (140 Мб), несопоставимо больше чем партиции таблицы. Решилось полным пересозданием около 27 идексов и около 14000 партиций индексов с минимальным размером. Освободилось около 180 Гб ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 12:52 |
|
Индекс намного больше таблицы
|
|||
---|---|---|---|
#18+
Похоже, это не разработчик заложил, а выполнялся импорт после экспорта без ключа compress=n https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/oracle-original-export-utility.html#GUID-37B64353-A142-4978-852E-05020758E247 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 14:29 |
|
|
start [/forum/topic.php?fid=52&msg=40116735&tid=1879685]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
39ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
411ms |
get tp. blocked users: |
1ms |
others: | 365ms |
total: | 845ms |
0 / 0 |