Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Dmitry Kuzmenko                      2:5020/400     25 Mar 2003  12:37:30
 To : ЏгвЁ«Ё­ …ўЈҐ­Ё© ‚ «Ґ­вЁ­®ўЁз
 Subject : Re: постреляционные базы данных
 -------------------------------------------------------------------------------- 
 
 Hello, Евгений!
 
 Путилин Евгений Валентинович wrote:
 
 > Я точно знаю что не зависимо от реализации, перстройка индекса евляеться
 > операцией, которая увеличивает скорость поиска по этому индексу. По объяснению
 > мне на основе SQLBase в её начальных реализациях(~10 лет назад), так и было
 > т.е. получение сбалансированного дерева, благо алгоритмы поиска у нас
 > преподовались в университете.
 
 деревья используемых в РСУБД индексов (b-tree) всегда сбалансированы.
 Другое дело, что если вдруг после определенного кол-ва записей глубина
 индекса доехала до определенного уровня (например 4, что является критическим),
 то при уменьшении кол-ва записей РСУБД не будет уменьшать глубину этого
 индекса. И производительность будет хуже, чем если этот индекс перестроить.
 Кроме этого, если при переполнении страницы указателей или ключей
 сервер "делит" эту страницу пополам с добавлением еще одного указателя
 в страницу "наверх", то при удалении ключей или указателей обратно
 он практически не сливает пустые страницы. Собственно, это и есть причина
 "неуменьшения" глубины индекса.
 
 Говорить что данный подход плох или хорош - нельзя. Ибо все зависит
 от работы с данными - насколько часто они меняются, насколько стабильно
 их усредненное количество или линейна скорость их увеличения, и т.п.
 Идеальный индекс построить нельзя, можно только реализовать кучу
 вариантов индексов, и дать возможность использовать их администратору.
 Однако вкупе с другими задачами это может оказаться еще более сложным,
 поэтому действительно, проще перестроить индекс в критической или спланированной
 ситуации, чем подбирать 2-3 варианта реализации b-tree индекса под конкретный
 случай.
 
 Для примера - индексы с упаковкой ключей больше тратят процессорного
 времени. Hо занимают меньше места, что экономит работу с диском.
 Чаще в РСУБД используются B+-tree, где страницы листьев (ключей) и
 указателей отличаются. Это тоже увеличивает хранимый объем, но не требует
 у ключа признака "ключ" или "указатель".
 И т.д. И т.п.
 
 > Причины по которым сервер может быть остановлен, могут быть разными, может
 > быть чтото с файлом лога и т.п. Это мои предположения :-(, и зависит от
 > реализации.
 
 это само собой.
 
 -- 
 Dmitri Kouzmenko, www.ibase.ru, 953-13-34
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: iBase (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: постреляционные базы данных   ЏгвЁ«Ё­ …ўЈҐ­Ё© ‚ «Ґ­вЁ­®ўЁз   25 Mar 2003 10:41:01 
 Re: постреляционные базы данных   Dmitry Kuzmenko   25 Mar 2003 12:37:30 
Архивное /su.dbms/27749d275354.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional