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

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

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

меня интересует вопрос ребилда только с точки зрения увеличения производительности. Про другие СУБД
спросил потому что у меня в MS SQL индексы по ночам ребилдятся, а в Oracle нет.
...
Рейтинг: 0 / 0
21.03.2013, 21:39
    #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
21.03.2013, 21:45
    #38194003
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
stax..банальный пример
индекс распухает, после перестройти занимает места в разы меньше,
Если я правильно понял, то речь идет о bitmap на row-by-row вставках/обновлениях?
...
Рейтинг: 0 / 0
22.03.2013, 11:19
    #38194444
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
авторпроизводительность тоже возрастает,

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

Том Кайт отвечает, что мол нет наглядного примера, те кто говорят, что ребилд индексов увеличивает
производительность не могут показать как было и как стало. Это всё на словах. Типа поверьте мне, я крутой
dba, я знаю, что это так.
...
Рейтинг: 0 / 0
22.03.2013, 12:16
    #38194587
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
У Льюиса есть неплохая старая заметка: http://www.jlcomp.demon.co.uk/14_index_rebuild_i.html
...
Рейтинг: 0 / 0
22.03.2013, 12:20
    #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
22.03.2013, 12:44
    #38194669
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
ребилд индексовТом Кайт отвечаетКстати, не помню где, но Кайт писал как раз о необходимости ребилда AQ'шных индексов
...
Рейтинг: 0 / 0
22.03.2013, 12:46
    #38194676
wurdu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
andrey_anonymousЕсли я правильно понял, то речь идет о bitmap на row-by-row вставках/обновлениях?Да не важно. Обычный индекс в зависимости от характера DML может пухнуть. Достаточно удалять не все данные, чтобы в блоках индекса оставались строки и они не помещались в список свободных блоков и вставлять справа. С bitmap проблему пофиксили: Bitmap Index Degradation Since 10g (Fix You)
ребилд индексовв этом-то и главный вопрос. с чего вы взяли что производительность возрастает?
потому что в плане индекс стал использоваться? а если он использовался до ребилда?

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

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

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

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

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

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

Такого вывода сделать нельзя. Есть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble)
...
Рейтинг: 0 / 0
22.03.2013, 15:27
    #38195021
flawy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
у меня наприм было такое (правда с MS SQL serv) что после ребилда индексов исчезла ошибка при вставке новых строк в таблицу. айдишники както странно присваивались. те же айдшники автоинкриментальные присваивались. разным строкам. приколись
...
Рейтинг: 0 / 0
22.03.2013, 16:09
    #38195116
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
wurduЕсть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble) Оно как-то лишено какого-то более-менее практического смысла, зачем вообще брать и удалять половину таблицы?
...
Рейтинг: 0 / 0
22.03.2013, 16:42
    #38195177
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
Андрей ПанфиловwurduЕсть случаи когда ребилд может дать существенное увеличение производительности. Deleted Index Entries Part V (Trouble) Оно как-то лишено какого-то более-менее практического смысла, зачем вообще брать и удалять половину таблицы?
К примеру у нас есть таблица проданных билетов. данные о проданных билетах 5 лет тому назад навряд ли кому-то нужны, по ним отчёты никакие в БД не делаются. А если делаются, то в DWH.
либо ещё один пример с таблицей логов, старые логи удаляем из таблицы.
...
Рейтинг: 0 / 0
22.03.2013, 17:32
    #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
22.03.2013, 17:47
    #38195314
Как часто вы ребилдите индексы? Как оценить результат после ребилда?
andrey_anonymous,

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


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

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

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


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

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

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

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

.....
stax

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


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