ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.

preview_player
Показать описание


0:00 Медленный запрос
0:55 Что такое индекс, создание простого индекса
1:55 Индекс над первичным ключем
2:55 Задача на собесе в озон
4:25 Составные индексы
7:52 Индексы и ORDER BY
9:40 Подбираем индексы для задачи
11:30 Порядок колонок в индексе при равенствах
12:10 Селективность колонки
15:05 Сравниваем индексы
20:30 Выкидываем неселективную колонку
22:50 Применяем теорию
25:20 Важность природы данных
27:05 Частичные индексы
28:00 Финальное сравнение
32:53 Выводы
Рекомендации по теме
Комментарии
Автор

Нужно для чистоты эксперимента чистить буфер-кеш, у тебя и без индекса второй прогон запроса моментально отработает.
Что такое bi-index на пальцах:
Есть 100 миллионов записей, для наглядности пускай это будет одна колонка, в ней цифры лежат от 1 до 100 млн, ищем мы например запись со значением 45млн, если нет индекса, субд переберёт все строки(все 100 млн) таблицы в поисках нужного значения/значений, если есть индекс, в этом случае би индекс - это считай регулировщик: ты к к нему подходишь, он тя спрашивает - че те надо, ты гришь 45млн найти хочу, он те грит, иди вон туды, там значения от 1 до 50 млн лежат, идешь туды, там еще один регулировщик и он тя отправит в диапазон от 25 до 50млн и тд до финиша. Это очень утрировано, но имхо понятно и наглядно.

iceskatingds
Автор

Чет орнул на моменте, когда автор решил найти Лену Головач

Nearfulz
Автор

Уже хз сколько времени все обещал себе поиграться с базой и разобраться в индексах, а тут Ванька все по полочкам разложил. Спасибо, родной!

alexmalex
Автор

Классное видео! Только начал разбираться с индексами и наткнулся на это объяснение. Очень наглядно, твои эксперименты с индексами помогли мне понять материал из статей с теорией. Спасибо! )

alexzav
Автор

Подписка за юмор и жизу. Круто, что такие видео попадают в реко.

in_ads_we_trust
Автор

Спасибо большое. Очень вовремя попалось выше видео

megaShvil
Автор

Я когда индексы объясняю, всегда привожу в аналогию бумажный индекс (который алфавитный указатель у нас называется). Ну, что по сути индекс - это просто те же данные, отсортированные по-другому, и способ быстро прыгать у нужной части. Можно эксельку взять, сортировать по-разному, и показывать. Например селективность - сортируешь по sex, и видишь что у тебя тупо по 100500 девочек и мальчиков, и дальше - перебор. Или что можно отсортировать по salary или по created date - и там будет понятно что в одном случае потом сортировать придется, а во втором - фильтровать по salary, и совместить нельзя. Опять же можно фильтры включить и сказать что можно частичные индексы сделать, скажем включить сразу людей с salary>150 и отсортировать по created_date - и будет сразу результат, но только для этого частного случая.

yakovzh
Автор

Спасибо тебе Ваня! Очень полезно, наглядно, а главное нужно!!!

buser_eto_ja
Автор

информация полезная, спасибо! ​
Не было ничего сказано про сбор статистики, мне кажется после создания индекса лучше это делать принудительно ( ANALYZE employee;). В некоторых случаях планировщик не будет использовать индекс без актуальной статистики. Процесс сбора может и в фоне позже пройти

ИльяПономарев-ею
Автор

Спасибо, хорошее видео, но думаю, нужно больше примеров и обьяснений.
Например, когда ты говоришь, что у селери большая разница в кол-ве строк с 995000 и 999900, то можно было бы сделать select с этим условием и показать, думаю станет намного наглядней
В остальном видео супер, спасибо

lellel
Автор

Получил оффер на синьора в озоне. Вообще по БД вопросов не было...За видео спасибо, всегда интересно

scruper
Автор

Хороший контент, попался в рекомендациях. Определенно подписка. Так держать!

БорисМеньшаков-ню
Автор

Мне нравится Головач Лена! Я думаю она хороший человек!

ТимофейМахотин
Автор

Хороший видос, для начинающих самое оно - доступно и с цифрами. Спасибо

НиколайБабкин-гс
Автор

Класное видео. Автор все очень хорошо объясняет.

ДенисНовіков-си
Автор

спасибо за хорошее видео с примерами, рекомендую к просмотру новичкам в индексировании

cupon
Автор

Однажды подробный разбор блокировок в бд стал для меня "базой", той самой вэХаЭс с главным фильмом, что ставили на полку, а не таскали из проката. Лену головач даже записывали в список присутствующих студенты первых курсов, на первых занятиях, когда преподаватель не вёл перекличку группы, а направлял лист по партам – звучала эта учащаяся в тишине аудитории необычно, серьёзно и глупо одновременно) Автору просьба – не пропадать в вечность, подобные видео или любого кастома очень важны и полезны, это настоящий опыт, а не писанина по примерам в гайде итп

Hairypro
Автор

Как проверить сколько памяти потребляет индекс ? Как в эпизоде финального сравнения.

ДаядУкар
Автор

В последнем примере скорее подошёл бы индекс
create index on employee (age) where salary > 995000;

alexfilus
Автор

Что такое селективность? Это оценка количества дисковых операций ввода-вывода? Или что-то другое?

gennadyshevchenko