Школа backend. PostgreSQL. Лекция 5: Индексы | Часть 1

Пятая лекция "Школы backend" про PostgreSQL:
- зачем индексы вообще нужны базе и как их создавать;
- для каких задач подходят шесть базовых типов (btree, hash, gist, spgist, gin, brin), а для каких - не особо;
- немного алкогольных шуток от разработчиков gin-индекса.
00:00 Индекс - подсказка для СУБД
03:44 Зачем нужны индексы?
05:09 Создаем индекс
26:14 Обслуживание индексов
31:03 Типы индексов: btree, hash
01:08:52 Ответы на вопросы
#Тензор #SQL #PostgreSQL

Пікірлер: 6

  • @nikitqa6985
    @nikitqa69856 ай бұрын

    50:50 Массив это не множество это конечно сильно сказано.... Уточняйте что имеете ввиду...

  • @andrey_bilalov

    @andrey_bilalov

    Ай бұрын

    Множества {1,2,3} и {3,2,1} равны. А массивы [1,2,3] и [3,2,1] нет.

  • @nikitqa6985
    @nikitqa69856 ай бұрын

    32:50 глубина поддерева это расстояние корня поддерева до корня дерева, так что я не соглашусь с вами. Берем вершину 16 на вашем графике и уже видим, что глубина равна двум...

  • @user-ur5zq9vr5z

    @user-ur5zq9vr5z

    3 ай бұрын

    Имелось в виду, что длина пути от корня до одного листа отличается от длины от корня до любого другого листа не более, чем на единицу.

  • @nikitqa6985
    @nikitqa69856 ай бұрын

    10:21 Создали idx_test, а используем магическую idx_tbl... Вы так же не упоминули 5406 это чего? а по факту 5406 это кол-во страничек выделянных на таблицу Если Вы говорите, что одна страничка 8000 Кб, то я правильно понимаю что 43248 Мегабайт было выделяно на такую таблицу? Не многовато ли?

  • @user-ur5zq9vr5z

    @user-ur5zq9vr5z

    3 ай бұрын

    Там упомянуто, что 5406 - это страницы. И было бы странно, если бы поле relpages выдавало какую-то другую информацию. Одна страница по умолчанию 8KB (не 8000 KB). Перемножая получим, что выделено на таблицу 42,23MB. Так много, потому что много памяти занимает системная информация. Но это все примерные расчеты. В самой таблице по факту может оказаться меньше страниц (relpages дает примерную оценку)

Келесі