Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

Эффективность индекса   Найти похожие ветки 

 
atruhin ©   (2005-10-10 14:09) [0]

Firebird 1.5.  есть таблица в которую пишется лог. событий. Одно из полей timestamp в этом поле данные получаются последовательные. Основные выборки идут по диапазонам данного поля. Приблизительный рабочий объем данных 1-3 млн. записей.
В литературе встречал, что при последовательных данных индексы теряют эффективность, из за перекоса дерева. Обоснованны ли опасения о потере производительности? Если да , то что делать?


 
Sergey13 ©   (2005-10-10 14:12) [1]

2 atruhin ©   (10.10.05 14:09)
Делов-то. Грохни индекс и проверь запросы. Восстанови индекс если появится замедление.


 
Fay ©   (2005-10-10 14:14) [2]

2 atruhin ©   (10.10.05 14:09)
"Потеря производительности" в сравнени с full scan?
Не переживайте, индекс не повредит 8)


 
sniknik ©   (2005-10-10 14:25) [3]

> ... в этом поле данные получаются последовательные.
сделай индекс по нему кластерным (если оно в FB означает тоже что в MSSQL ;)


 
Fay ©   (2005-10-10 14:28) [4]

2 sniknik ©   (10.10.05 14:25) [3]
1) В FB нет кластерных индексов
2) Это не прибавит скорости


 
Desdechado ©   (2005-10-10 14:45) [5]

1. можно пересобирать статистику индексов (немного помогает)
2. перекос возникает при последовательном ДОБАВЛЕНИИ. Иногда можно делать backup-restore для уничтожения перекоса


 
Fay ©   (2005-10-10 15:57) [6]

2 Desdechado ©   (10.10.05 14:45) [5]
>> backup-restore для уничтожения перекоса
Сурово 8)
alter index INDEX_NAME inactive;
alter index INDEX_NAME active;


 
atruhin ©   (2005-10-10 16:03) [7]

>>"Потеря производительности" в сравнени с full scan?
Я об этом не говорил. :)
>>2. перекос возникает при последовательном ДОБАВЛЕНИИ
А вот эта ситуация у меня и есть. Т.к. данное поле время добавления записи.
>>alter index INDEX_NAME inactive;
>>alter index INDEX_NAME active;
Хм, а вот это нужно попробовать.


 
Sergey13 ©   (2005-10-10 16:12) [8]

2[7] atruhin ©   (10.10.05 16:03)
>Хм, а вот это нужно попробовать.
Только в клиентскую прогу это вставлять не надо. 8-)


 
Fay ©   (2005-10-10 16:29) [9]

2 Sergey13 ©   (10.10.05 16:12) [8]
А в какую ещё прогу это можно вставить?


 
Desdechado ©   (2005-10-10 16:33) [10]

по расписанию запускать какой-нить батник, который и будет это делать
а в клиент действительно лучше не совать (если он не деинственный, конечно), а то другим юзерам хана будет


 
Alexandr ©   (2005-10-10 16:51) [11]

я ни понял
"пересобирать статистику индексов"
и
"backup-restore для уничтожения перекоса/alter index INDEX_NAME"

вроде как это одно и тоже в приницпе.
И суть этого, чтоб статистика индекса свежая была, и он заюзался когда надои  не юзался когда ненадо.
но все это неважно, в приницпе, пока план запроса показывает то что и ожидается.
p.s. отключить лишний индекс проще всего в запросе например "id+0="


 
atruhin ©   (2005-10-10 17:06) [12]

>>"пересобирать статистику индексов"
>>"backup-restore для уничтожения перекоса
статистика и перекос дерева - две большие разницы.
Вообще вопрос, пока чисто теоритический. Т.к. в реальном приложении возможно хватит производительности в любом варианте.


 
Desdechado ©   (2005-10-10 18:18) [13]

естественно, разные
статистика позволяет намекнуть оптимизатору на целесообразность  использования индекса
перекос приводит к долгому поиску по дереву индекса (глубина дерева больше 3 - это почти завал)
при перекосе тормоза могут быть вполне реальные, по практике говорю, даже при глубине 4 уже заметно
глубину можно проверить одной из утилит FB



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.043 c
4-1126843766
SergeyGood
2005-09-16 08:09
2005.11.20
Функция CreateProcessWithLogonW


2-1130472029
Alex7
2005-10-28 08:00
2005.11.20
Раздел Initialization


14-1130311715
TUser
2005-10-26 11:28
2005.11.20
Доступ к папке


14-1130420010
oldman
2005-10-27 17:33
2005.11.20
Литва опубликовала список людей...


14-1130342484
Копир
2005-10-26 20:01
2005.11.20
Мышка-mouse рознь :-)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский