Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос про распухание индексов
|
|||
|---|---|---|---|
|
#18+
Вопрос: как можно найти распухшие индексы? Я сделал следующий эксперимент - я создал таблицу, состоящую из двух колонок - числовой id и строковое поле varchar2(100), создал обычный индекс по строковому полю и вставил в эту таблицу 1 млн. строк,использовав dbms_random для создания случайных строк. После этого я замерил размер индекса - 109 Мб. После этого я делал обновление этого строкового столбца - всех значений этого слобца на новые случайные значения, порождаемые dbms_random. Каждое такое обновление приводило к увеличению размера индекса - сначала до 117 Мб, потом - до 125Мб. После этого я сделал циклическое обновление этого строкового поля, то есть, когда значение этого текстового поля для id=1 присваивалось значению для id=2 и т.д., а первое менялось местом с последним. Одно такое обновление привело к росту размера индекса до 218 Мб. При этом я смотрел на параметры, которые мне предложил ИИ - соотношение leaf_block к num_rows, clustering_factor, отношение clustering_factor к num_rows и отношение размера индекса к leaf_block, умноженному на размер блока. Изменение этих параметров было очень незначительным. В принципе, определять распухшие индексы можно так. 1. Нужно создать таблицу с точно такой же структурой полей, как исходная таблица. 2. Создать те же самые индексы, как в исходной таблице. 3. Поместить в эту пустую таблицу данные из исходной с помощью конструкции insert into .. select .. 4. Посмотреть размеры индексов в скопированной таблице и сравнить их с размерами индексов в исходной таблице - значительное превышение размеров индексов исходной таблицы покажет распухшие индексы. Недостатком этого метода является длительность копирования больших таблиц и необходимость выделения большого количества дискового пространства под большие таблицы и их индексы. И это фатальный недостаток, делающий этот метод непригодным для больших таблиц. Поэтому хотелось бы узнать, коллеги, как вы определяете наличие распухших индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2025, 14:05 |
|
||
|
Вопрос про распухание индексов
|
|||
|---|---|---|---|
|
#18+
Andrey52691 [игнорируется]
Поэтому хотелось бы узнать, коллеги, как вы определяете наличие распухших индексов.
Для большинства случаев, когда делается INDEX REBUILD, т.е. для любителей рукоблудия, бездельников и всех, страдающих compulsive tuning disorder, может хватить EXPLAIN PLAN/DBMS_SPACE.CREATE_INDEX_COST, чем использование описанной процедуры в начальном комментарии (см. estimated index size в выводе ниже). Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2025, 18:07 |
|
||
|
Вопрос про распухание индексов
|
|||
|---|---|---|---|
|
#18+
А я нашёл, как определить распухшие индексы - по информации из index_stats. Соотношение полей del_lf_rows и lf_rows показывает процент разбухания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2025, 07:07 |
|
||
|
Вопрос про распухание индексов
|
|||
|---|---|---|---|
|
#18+
А я нашёл, как определить распухшие индексы - по информации из index_stats. Соотношение полей del_lf_rows и lf_rows показывает процент разбухания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2025, 14:58 |
|
||
|
Вопрос про распухание индексов
|
|||
|---|---|---|---|
|
#18+
---- как можно найти распухшие индексы? Бывают еще и распухшие таблицы, и распухший чл.... журнал TNSListener. Если вы учитесь/работаете с БД в целом и с СУБД Oracle в частности больше полугода, рекомендую перейти от тестовых заданий к реальным БД. Там будет понятно, что действовать надо на уровне админа, а именно DBA_SEGMENTS, DBA_DATA_FILES, DBA_FREE_SPACE и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2025, 17:50 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=2187302]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 334ms |

| 0 / 0 |
