SlideShare a Scribd company logo
Index - перст указующий 
и не только
Зачем 
Информации 
очень 
очень 
очень 
много. 
А времени - мало.
Зачем 
Просто, когда ничего не нужно искать.
Индексы в БД 
Вначале был 
последовательный 
доступ.
Индексы в БД 
Затем появились 
упорядоченные 
списки
Индексы в БД 
Которые 
превратились 
наивные индексы
Индексы в БД 
Pro: 
● быстрый доступ к данным
Индексы в БД 
Pro: 
● быстрый доступ к данным 
Contra: 
● затраты на поддержание
Борьба за I/O 
Партицирование индексов 
Компрессия 
Игнорирование null-значений 
Индексы на фрактальных деревьях
Какие бывают индексы 
● составные 
● уникальные
Особенности использования 
Индекс необходим если: 
● по атрибутам идет соединение
Особенности использования 
Индекс необходим если: 
● по атрибутам идет соединение 
● атрибуты являются PK или UK
Особенности использования 
Индекс необходим если: 
● по атрибутам идет соединение 
● атрибуты являются PK или UK 
● атрибуты ограничены внешним ключом
Особенности использования 
Индекс противопоказан если: 
● критична скорость вставки
Особенности использования 
Индекс противопоказан если: 
● критична скорость вставки 
● данные выбираются только целиком
Особенности использования 
Индекс не будет использован если: 
● атрибут сравнивается с null
Особенности использования 
Индекс не будет использован если: 
● атрибут сравнивается с null 
● not in, not like, not exists
Особенности использования 
Индекс не будет использован если: 
● атрибут сравнивается с null 
● not in, not like, not exists 
● не префиксный поиск
Способы использования 
● покрывающие индексы
Способы использования 
● покрывающие индексы 
● функциональные индексы
Способы использования 
● покрывающие индексы 
● функциональные индексы 
● таблицы организованные по индексу
Способы использования 
● покрывающие индексы 
● функциональные индексы 
● таблицы организованные по индексу 
● кластера таблиц и индексов
Специализация индексов 
Каждому классу данных - свой тип индекса
Специализация индексов 
Неспецифические данные
Специализация индексов 
Неспецифические данные 
● B-tree
Специализация индексов 
Неспецифические данные 
● B-tree 
● hash
Специализация индексов 
Неспецифические данные 
● B-tree 
● hash 
● bitmap
Специализация индексов 
Геоданные
Специализация индексов 
Геоданные 
● R-tree
Специализация индексов 
Геоданные 
● R-tree 
● z-order
Специализация индексов 
Геоданные 
● R-tree 
● z-order 
● QuadTree
Специализация индексов 
Тексты
Специализация индексов 
Тексты 
● inverted index
Специализация индексов 
Тексты 
● inverted index 
● N-gramm
Специализация индексов 
Тексты 
● inverted index 
● N-gramm 
● Bloom-filter
Специализация индексов 
Вложенные множества
Специализация индексов 
Вложенные множества 
● VODKA
The End 
Спасибо за внимание. 
Вопросы?

More Related Content

Viewers also liked

strider-portofoilo
strider-portofoilostrider-portofoilo
strider-portofoiloTushar R
 
Part b
Part bPart b
Part b
as me
 
Wellington,
 Wellington, Wellington,
Wellington,
Kunpriya Mokkhatip
 
Skill_Level_ Strider
Skill_Level_ StriderSkill_Level_ Strider
Skill_Level_ StriderTushar R
 
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
SlideShare-เยอะเกิน-กฤตยา ศรีริ
 
Construction accountant kpi
Construction accountant kpiConstruction accountant kpi
Construction accountant kpibenrimacado
 
Grafik fungsi
Grafik fungsiGrafik fungsi
Grafik fungsi
Yovika Sukma
 
Sarกฤตยาฉบับส่งรรเทอม1ปี57
Sarกฤตยาฉบับส่งรรเทอม1ปี57Sarกฤตยาฉบับส่งรรเทอม1ปี57
Sarกฤตยาฉบับส่งรรเทอม1ปี57
SlideShare-เยอะเกิน-กฤตยา ศรีริ
 
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
SlideShare-เยอะเกิน-กฤตยา ศรีริ
 
Systems accountant kpi
Systems accountant kpiSystems accountant kpi
Systems accountant kpibenrimacado
 

Viewers also liked (13)

strider-portofoilo
strider-portofoilostrider-portofoilo
strider-portofoilo
 
Part b
Part bPart b
Part b
 
Wellington,
 Wellington, Wellington,
Wellington,
 
Ppweb
PpwebPpweb
Ppweb
 
Skill_Level_ Strider
Skill_Level_ StriderSkill_Level_ Strider
Skill_Level_ Strider
 
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
แบบทดสอบเตรียมความพร้อม ทดสอบก่อนเรียน2588
 
Construction accountant kpi
Construction accountant kpiConstruction accountant kpi
Construction accountant kpi
 
Grafik fungsi
Grafik fungsiGrafik fungsi
Grafik fungsi
 
Sarกฤตยาฉบับส่งรรเทอม1ปี57
Sarกฤตยาฉบับส่งรรเทอม1ปี57Sarกฤตยาฉบับส่งรรเทอม1ปี57
Sarกฤตยาฉบับส่งรรเทอม1ปี57
 
Bslim
BslimBslim
Bslim
 
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
หา3ภพจนเจอ2016 กูตั้งใจทำดีสุดยอดการ์ตูน48ข้อ2015
 
Systems accountant kpi
Systems accountant kpiSystems accountant kpi
Systems accountant kpi
 
FR
FRFR
FR
 

Index - перст указующий, и не только

Editor's Notes

  1. Что бы почитать? Читай псалмы сын мой.
  2. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  3. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  4. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  5. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  6. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  7. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  8. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  9. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  10. Главный ресурс: время. Тонкое место любой БД - работа с дисками, поскольку рост скорости передачи значительно отстает от роста производительности процессоров и объемов поддерживаемой оперативной памяти..
  11. Экономим время, не читая с диска блоки таблицы.
  12. Можем использовать индекс благодаря предварительно проведенному преобразованию.
  13. Экономим время, благодаря тому, что часть блоков уже вычитана
  14. Общее для всех индексов: так или иначе - это деревья.