powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как часто вы ребилдите индексы? Как оценить результат после ребилда?
25 сообщений из 57, страница 1 из 3
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38193798
Меня интересует вопрос: с какой частотой необходимо ребилдить индексы и нужно ли?
Как после ребилда оценить результат? Что-то типа: после ребилда время отклика сократилось
на N секунд, и т .д.?
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38193813
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38193841
andrey_anonymous http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:2913600659112

Если я правильно понял то, что написано на английском языке, то смысла в ребилде никакого нет.
Производительность от этого не увеличится, и нет наглядных средств для её измерения.

У меня ещё один вопрос тогда: это характерно только для Oracle, или для других СУБД тоже?

меня интересует вопрос ребилда только с точки зрения увеличения производительности. Про другие СУБД
спросил потому что у меня в MS SQL индексы по ночам ребилдятся, а в Oracle нет.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38193998
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребилд индексовandrey_anonymous http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:2913600659112

Если я правильно понял то, что написано на английском языке, то смысла в ребилде никакого нет.
Производительность от этого не увеличится, и нет наглядных средств для её измерения.

У меня ещё один вопрос тогда: это характерно только для Oracle, или для других СУБД тоже?

меня интересует вопрос ребилда только с точки зрения увеличения производительности. Про другие СУБД
спросил потому что у меня в MS SQL индексы по ночам ребилдятся, а в Oracle нет.
теоретически, может и не надо перестраивать индексы, на практике ИМХО надо

банальный пример
индекс распухает, после перестройти занимает места в разы меньше,
производительность тоже возрастает,
бывало что до перестройки оптимизатор не использовал рапухший индекс

.....
stax
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194003
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..банальный пример
индекс распухает, после перестройти занимает места в разы меньше,
Если я правильно понял, то речь идет о bitmap на row-by-row вставках/обновлениях?
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194444
авторпроизводительность тоже возрастает,

в этом-то и главный вопрос. с чего вы взяли что производительность возрастает?
потому что в плане индекс стал использоваться? а если он использовался до ребилда?

Том Кайт отвечает, что мол нет наглядного примера, те кто говорят, что ребилд индексов увеличивает
производительность не могут показать как было и как стало. Это всё на словах. Типа поверьте мне, я крутой
dba, я знаю, что это так.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194587
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У Льюиса есть неплохая старая заметка: http://www.jlcomp.demon.co.uk/14_index_rebuild_i.html
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194599
Фотография djeday84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderУ Льюиса есть неплохая старая заметка: http://www.jlcomp.demon.co.uk/14_index_rebuild_i.html

IMHO лучше этого не найти :))

Index Internals – Rebuilding The Truth - Richard Foote's Oracle Blog
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194669
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ребилд индексовТом Кайт отвечаетКстати, не помню где, но Кайт писал как раз о необходимости ребилда AQ'шных индексов
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194676
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЕсли я правильно понял, то речь идет о bitmap на row-by-row вставках/обновлениях?Да не важно. Обычный индекс в зависимости от характера DML может пухнуть. Достаточно удалять не все данные, чтобы в блоках индекса оставались строки и они не помещались в список свободных блоков и вставлять справа. С bitmap проблему пофиксили: Bitmap Index Degradation Since 10g (Fix You)
ребилд индексовв этом-то и главный вопрос. с чего вы взяли что производительность возрастает?
потому что в плане индекс стал использоваться? а если он использовался до ребилда?

Том Кайт отвечает, что мол нет наглядного примера, те кто говорят, что ребилд индексов увеличивает
производительность не могут показать как было и как стало. Это всё на словах. Типа поверьте мне, я крутой
dba, я знаю, что это так.Да наглядный пример не проблема показать. Другое дело что в подавляющем большинстве случаев действительно ребилдить ничего не надо.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194685
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wurduОбычный индекс в зависимости от характера DML может пухнуть.
Может.
Но кейс довольно специфичен.
И это можно измерить .
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194698
xtenderребилд индексовТом Кайт отвечаетКстати, не помню где, но Кайт писал как раз о необходимости ребилда AQ'шных индексов

авторДругое дело что в подавляющем большинстве случаев действительно ребилдить ничего не надо.

можно сделать такой вывод: что значимого увеличения производительности это не принесёт, а вот место на диске съест однозначно и работу замедлит в момент ребилда. выигрыш незначительный. следовательно ребилдить не стоит.

AQ-индекс - это что??
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38194719
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребилд индексовxtenderпропущено...
Кстати, не помню где, но Кайт писал как раз о необходимости ребилда AQ'шных индексов

авторДругое дело что в подавляющем большинстве случаев действительно ребилдить ничего не надо.

можно сделать такой вывод: что значимого увеличения производительности это не принесёт, а вот место на диске съест однозначно и работу замедлит в момент ребилда. выигрыш незначительный. следовательно ребилдить не стоит.

Такого вывода сделать нельзя. Есть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble)
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195021
flawy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня наприм было такое (правда с MS SQL serv) что после ребилда индексов исчезла ошибка при вставке новых строк в таблицу. айдишники както странно присваивались. те же айдшники автоинкриментальные присваивались. разным строкам. приколись
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195116
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wurduЕсть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble) Оно как-то лишено какого-то более-менее практического смысла, зачем вообще брать и удалять половину таблицы?
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195177
Андрей ПанфиловwurduЕсть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble) Оно как-то лишено какого-то более-менее практического смысла, зачем вообще брать и удалять половину таблицы?
К примеру у нас есть таблица проданных билетов. данные о проданных билетах 5 лет тому назад навряд ли кому-то нужны, по ним отчёты никакие в БД не делаются. А если делаются, то в DWH.
либо ещё один пример с таблицей логов, старые логи удаляем из таблицы.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195281
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребилд индексовК примеру у нас есть таблица проданных билетов. данные о проданных билетах 5 лет тому назад навряд ли кому-то нужны, по ним отчёты никакие в БД не делаются. А если делаются, то в DWH.
либо ещё один пример с таблицей логов, старые логи удаляем из таблицы.

И?
Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
create table ane_t1(a varchar2(2000));
 
Table created

create index ane_t1$a on ane_t1(a);
 
Index created

insert into ane_t1 select rpad(rownum,2000,'x') from dual connect by level < 1000;
 
999 rows inserted

commit;
 
Commit complete

select segment_type, segment_name, bytes,blocks,extents from dba_segments where segment_name like 'ANE_T1$A';
 
SEGMENT_TYPE       SEGMENT_NA      BYTES     BLOCKS    EXTENTS
------------------ ---------- ---------- ---------- ----------
INDEX              ANE_T1$A      4194304        512         19

insert into ane_t1 select rpad('b'||rownum,2000,'x') from dual connect by level < 1000;
 
999 rows inserted

commit;
 
Commit complete

select segment_type, segment_name, bytes,blocks,extents from dba_segments where segment_name like 'ANE_T1$A';
 
SEGMENT_TYPE       SEGMENT_NA      BYTES     BLOCKS    EXTENTS
------------------ ---------- ---------- ---------- ----------
INDEX              ANE_T1$A      8388608       1024         23

-- Удалим "пол-таблицы логов"
delete ane_t1 where a < '999z';
 
997 rows deleted

commit;
 
Commit complete

select segment_type, segment_name, bytes,blocks,extents from dba_segments where segment_name like 'ANE_T1$A';
 
SEGMENT_TYPE       SEGMENT_NA      BYTES     BLOCKS    EXTENTS
------------------ ---------- ---------- ---------- ----------
INDEX              ANE_T1$A      8388608       1024         23

-- вставим справа
insert into ane_t1 select rpad('c'||rownum,2000,'x') from dual connect by level < 1000;
 
999 rows inserted

commit;
 
Commit complete

select segment_type, segment_name, bytes,blocks,extents from dba_segments where segment_name like 'ANE_T1$A';
 
SEGMENT_TYPE       SEGMENT_NA      BYTES     BLOCKS    EXTENTS
------------------ ---------- ---------- ---------- ----------
INDEX              ANE_T1$A      8388608       1024         23

drop table ane_t1 purge;
 
Table dropped
 
SQL> 
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195314
andrey_anonymous,

Ну и к чему это?
Людей интересует размер индекса, а не размер сегмента индекса.
То есть конкретно блоки, которые будут читаться при IFS и иже с ним.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195322
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странннннноЛюдей интересует размер индекса, а не размер сегмента индекса.
То есть конкретно блоки, которые будут читаться при IFS и иже с ним.
К тому, что в сценарии "удаляем старьё" место в сегменте индекса под "пол-таблицы" успешно использовано под новую вставку, "распухания" не произошло.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195369
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересует вопрос: с какой частотой необходимо ребилдить индексы и нужно ли?


Не нужно, если они не сломаны. А таких на оракле я еще не видел.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195370
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребилд индексов,

У меня ещё один вопрос тогда: это характерно только для Oracle, или для других СУБД тоже?

Это характерно в общем для всех рсубд,
Но в конкретике могут быть детали.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195371
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..ребилд индексовпропущено...


Если я правильно понял то, что написано на английском языке, то смысла в ребилде никакого нет.
Производительность от этого не увеличится, и нет наглядных средств для её измерения.

У меня ещё один вопрос тогда: это характерно только для Oracle, или для других СУБД тоже?

меня интересует вопрос ребилда только с точки зрения увеличения производительности. Про другие СУБД
спросил потому что у меня в MS SQL индексы по ночам ребилдятся, а в Oracle нет.
теоретически, может и не надо перестраивать индексы, на практике ИМХО надо

банальный пример
индекс распухает, после перестройти занимает места в разы меньше,
производительность тоже возрастает,
бывало что до перестройки оптимизатор не использовал рапухший индекс

.....
stax

Это гон.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195382
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема развивается в правильном направлении.
Перестраивать индексы — никому ненужное занятие, если ты только не дба и тебе ну совсем ничего делать, а бд не занята на ночь.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195391
Timur Akhmadeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример когда нужно ребилдить.
...
Рейтинг: 0 / 0
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
    #38195407
Можно взять тот же пример от andrey_anonymous и удалить 90% не с конца, а равномерно по всему диапазону.
Тогда вставка максимальных значений не будет заполнять старые блоки и ребилд будет весьма кстати.
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как часто вы ребилдите индексы? Как оценить результат после ребилда?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]