Индексы баз данных - Почему так быстро - проще некуда

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 69

  • @Dev-lessons
    @Dev-lessons  10 месяцев назад

    Больше обучающего контента на моём бусти www.flenov.info/plus/index
    Обо мне: www.flenov.ru
    Мой ИТ блог www.flenov.info
    Телеграм: t.me/mflenov
    Twitter: twitter.com/flenov
    Инстаграм: instagram.com/mflenov/
    Мой просто блог blo.moe

  • @rrrrain
    @rrrrain 9 месяцев назад +7

    Удивительно 20 лет назад читал вашу книгу по делфи и учился программировать, а сейчас вот случайно нашел на ютубе. Спасибо Вам

  • @red_spaniard
    @red_spaniard 29 дней назад +1

    Спасибо тебе, добрый дядька. Наконец то хоть кто-то толково объяснил.
    Нигде ни у кого нет желания делать контент доступным для понимая.

  • @ДжульеттаКапулетти-щ7ь
    @ДжульеттаКапулетти-щ7ь 2 месяца назад +2

    уже отчаялась найти наглядное объяснение того, как работают индексы для тех, кто не программист (а тестировщик, например), но набрела на это видео. спасибо за разжевывание, отлично!

  • @TbIPDblM
    @TbIPDblM Год назад +2

    Годный туториал на пальцах с применением сложных терминов понятный даже ёжикам !

  • @pumbaua
    @pumbaua 20 дней назад

    Это просто изумительно. Понятно и весело

  • @МежрёбернаяНевралгия

    Кайф! Гораздо понятнее чем в универе рассказывали) спасибо!

    • @Dev-lessons
      @Dev-lessons  3 года назад

      Спасибо

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад

      @@Dev-lessons
      28:45
      о каком каждом третьем говорите, если выбрали каждого четвертого??🤔 ну, камон, серьезно.

    • @Dev-lessons
      @Dev-lessons  3 года назад

      @@manOfPlanetEarth Я же программист и все нумерую с нуля. Ты считаешь это так важно с нуля или единицы / третий или четвертый? Это же пример

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад

      @@Dev-lessons
      1. но потом ты разбиваешь второй уровень, выбирая действительно каждого третьего и говоря "каждого третьего", а не "каждого второго".
      так куда делась твоя нумерация с нуля?
      да, я считаю очень важным, чтобы был порядок и единообразие в речи и действиях. а то тут с нуля, там с единицы. тут я программист, а тут я уже и не программист.
      вот именно, что раз ты программист, то должен понимать важность правильности каждого символа и слова. кодишь, поди, не от балды, а все четко и выверенно? все по синтаксису языка? а че так? типа только в примерах можно на похуях вещать?🙂 тогда не надо было делать аннотации красным про "Баранова" и "Воронова". Но ты сделал. Потому что стараешься сделать нормально и в примере. А тут рогом упёрся. Зачем?
      2. Почему бы сразу не сказать, в чем же особенности В- и В+ деревьев? Чай, не обезьяны смотрят - поймут, кругозор расширят😉
      3. Кластерный индекс - это что же, таблица срослась с индексом?🤔 Очень интересно. В майкрософт sql можно делать такой индекс? И вообще, в любой субд можно?
      Смотрел я у тебя самый первый видос про гит: было видно, что без плана и потому очень слабенько вышло: сумбурно и не информативно. Вот решил глянуть про индексы, почтить память, так сказать, о давней работе с sql. Послевкусие получше, чем после гит. Вы способны на большее. Составляйте план на листочке. Продумывайте примеры, нюансы, вносите их в план. Тогда всё будет чётко как у дьячего. Это же ваш след в этом мире.

  • @Cre0w
    @Cre0w 3 года назад +3

    Шикарный урок. Для повторения теории отлично изложено. Особенно схемы помогают восприятию.

    • @Dev-lessons
      @Dev-lessons  3 года назад

      Спасибо, судя по просмотрам не зря старался

  • @iMarina12345
    @iMarina12345 Год назад +3

    Двойка по литературе вам в любом случае. Пушкин Александр, не Сергей 😂. Но за видео спасибо. Всё понятно объясняете

  • @demiurgich
    @demiurgich 3 года назад +5

    Да-да. Очень понравилось! Я перестал бояться индексов. Хочу поскорее начать их использовать. Давай продолжение такой важной темы, пожалуйста! Спасибо!

    • @Dev-lessons
      @Dev-lessons  3 года назад +2

      Уже записано, скоро будет

  • @sanix183
    @sanix183 Год назад +1

    Вы великолепны в обьяснении!

  • @valarg5756
    @valarg5756 3 года назад +4

    Спасибо большое, теперь жду практику индексов на нашей базе Лигуа)))

    • @Dev-lessons
      @Dev-lessons  3 года назад

      Обязательно будет

  • @johndorian361
    @johndorian361 3 года назад +4

    Спасибо. Наглядно и понятно.

  • @nikolayn4022
    @nikolayn4022 3 года назад +4

    Спасибо, всё понятно) блок-схемы очень помогают в понимании)

  • @ДенисК-р6я
    @ДенисК-р6я 3 года назад +6

    Все просто и понятно, спасиб

  • @magomedmagomedov9168
    @magomedmagomedov9168 3 года назад +22

    Пушкин не Леонид и не Сергей, он Александр😀

    • @glebkolobov
      @glebkolobov 3 года назад +4

      Александр Сергеевич😀

    • @Dev-lessons
      @Dev-lessons  3 года назад +5

      Точно, я же говорил, двойку мне нужно по литературе

    • @vc7057
      @vc7057 2 года назад +2

      Я тоже поржал на этом моменте )))))

  • @BorgerKat
    @BorgerKat Год назад +1

    Спасибо. Очень доступно.

  • @bilde8140
    @bilde8140 3 месяца назад

    salem from almaty, qazaq republic. thank you btw support commentary

  • @valeriik9135
    @valeriik9135 3 года назад +16

    Спасибо большое за видео. все очень помогает разложить по полкам и, в частности, показывает удачный способ объяснить материал другим людям.
    Миш, подскажи, планируется ли видео по БД где объясняется практическое применения понятия схем БД, зачем делить на схемы, преимущества, недостатки, опыт из твоей практики?

    • @Dev-lessons
      @Dev-lessons  3 года назад +8

      Не планировал, но теперь задумался - что может действительно стоит. Добавил в план.

  • @kl45gp
    @kl45gp 2 года назад +1

    офигенный пример

  • @игорьприм
    @игорьприм Год назад +1

    красавчик, всё разжевал. спасибо

  • @leskhanmuratuly5374
    @leskhanmuratuly5374 2 года назад +1

    Ничего не понятно, но очень интересно)

  • @denisdd5885
    @denisdd5885 Год назад +1

    Золотой человек

  • @alexzir
    @alexzir 3 года назад +1

    Спсибо! Доступно очень!

  • @AndriiKuftachov
    @AndriiKuftachov 3 года назад +1

    Про блоки, может там и есть какие-то физические лимиты, но основные лимиты логические, которые ты настраиваем на уровне операционной системы, как для жёсткого диска, так и для оперативной памяти.
    Логика в том, что чтение из оперативной памяти, а тем более из диска - это медленная операция, выгоднее прочитать побольше, чтобы потом уже с этим разбираться поближе к процессору, а надежде, что нужные данные окажутся рядом.

    • @Dev-lessons
      @Dev-lessons  3 года назад

      У файловой системы есть размеры блока и если использовать NTFS, то это будет. 4 кб, поэтому хранить по одному числу не выгодно, их желательно группировать в блоки, потому что они блоками будут храниться в файловой системе и блоками читаться support.microsoft.com/en-us/topic/default-cluster-size-for-ntfs-fat-and-exfat-9772e6f1-e31a-00d7-e18f-73169155af95
      Где-то натыкался, что SSD именно есть дисковый лимит.

    • @Dev-lessons
      @Dev-lessons  3 года назад

      engineering.linkedin.com/blog/2016/05/designing-ssd-friendly-applications-for-better-application-perfo#:~:text=The%20smallest%20updating%20unit%20in,in%20at%20least%204KB%20reading.

    • @AndriiKuftachov
      @AndriiKuftachov 3 года назад

      @@Dev-lessons это детали реализации, на которые мы не можем закладываться.
      Минимальное, на что мы можем рассчитывать - это наша файловая система, а это настройки ОС.
      Хотя, согласен, что копаться в таком должен DBA, и нам белым людям, программистам, нечего там делать 🤣.

    • @Dev-lessons
      @Dev-lessons  3 года назад

      @@AndriiKuftachov Так ведь все просто - файловая система любит 4кб и SSD читает по 4 кб, так что как программисты ради оптимизации мы должны хранить данные не по 2кб, а как минимум 4.

    • @AndriiKuftachov
      @AndriiKuftachov 3 года назад

      @@Dev-lessons по-моему, мы как программисты давно мало чего храним в файлах 🤠.
      А вот внутренняя реализация работы с файловой системой базы данных - это слишком высокие материи.
      Но мой посыл в том, что если это не спецификация SSD, а похоже, что этот всеми э всё-таки не спецификация, то заложившись на микрооптимизациб, можно потом получить проблемы, если завтра какой-то из производителей поменяет размер ячейки.

  • @НикитаЗападнов
    @НикитаЗападнов 2 года назад

    23:00
    512 байт - размер физического сектора носителя, например SD-карты
    сектор - минимально адресуемая единица памяти накопителя
    файловая система использует кластеры из одного или более секторов.
    размер кластера (кол-во секторов) задаётся при форматировании.
    секторы в кластере расположены последовательно, что ускоряет к ним доступ.
    справедливо для файловых систем FAT

    • @Dev-lessons
      @Dev-lessons  2 года назад

      При форматировании ты зайдёшь логическое разбиение диска. ты Можешь задать размер блока 8кб, но это не значит, что диск будет читать сразу по 8, он может физически читать два по 4кб.

    • @НикитаЗападнов
      @НикитаЗападнов 2 года назад

      @@Dev-lessons физически читает по секторам

    • @Dev-lessons
      @Dev-lessons  2 года назад +1

      @@НикитаЗападнов это я и говорил в видео и ты тоже правильно написал. Есть физический сектор, а есть логический - форматирование. Я просто добавил это к твоему комментарию.

  • @ЮтубГамно
    @ЮтубГамно 3 года назад +2

    По теории супер, я наконец понял как работают индексы. Спасибо 👍 А планируется ли урок как реализовать подобное на практике в MySQL?

    • @Dev-lessons
      @Dev-lessons  3 года назад

      Есть в планах даже на ближайшее время

  • @ruslanadamovich7505
    @ruslanadamovich7505 Год назад

    Если сделать вычисляемое поле от длинного, которое "возьмет" первые три-четыре символа - насколько ефективен будет поиск по индексу ?
    Например, товар 'олддлобблпстпорпопололпол' сокращен на 'олдд' и это поле - индекс....ну и вопрос уникальности тогда возникает
    Как быть ?

  • @victoryjun
    @victoryjun 10 месяцев назад

    В 1990 году нам говорили, что такой поиск называется "метод дихотомии". Не прошло даже 30 лет и уже он стал "бинарным". Почему?

    • @Dev-lessons
      @Dev-lessons  10 месяцев назад

      Не знаю, в программировании всегда он назывался двоичным или бинарным поиском. Гугланул и вижу есть понятие метод дихотомии, но не вижу ни одной ссылки связанной с ИТ. А вот двоичный поиск тут же указывает именно на ИТшную тему.

    • @victoryjun
      @victoryjun 10 месяцев назад

      @@Dev-lessons когда я учился в институте, еще и интернета то НЕ БЫЛО! Что вы там искали в тырнете то? :)

    • @Dev-lessons
      @Dev-lessons  10 месяцев назад

      @@victoryjun Я сейчас проверил, что в интернете пишут. Когда я учился интернета тоже не было, но уже тогда называли бинарным

    • @victoryjun
      @victoryjun 10 месяцев назад

      @@Dev-lessons странно, но я алгоритмы изучал на ЕС1420 (комп занимал место в 3-х комнатах) на языке Fortran и тогда алгоритм "бинарным" не называли. ЭТО НЕ ЛОГИЧНО! там ни чего бинарного НЕТ. Бинарный вид - это "0" или "1". Спрашивается с "какого боку" деление пополам стало вдруг "бинарным". Делится интервал на отрезки равной величины. Ни чего бинарного там нет.

  • @АлександрСосо-щ1б
    @АлександрСосо-щ1б 2 года назад +1

    так я и не понял, как в реальной жизни это делать. Если база данных в 0,5млн записей например, что тоже вручную вот так разбивать?

    • @Dev-lessons
      @Dev-lessons  2 года назад

      Ты просто создаешь индекс, ничего вручную делить ненужно, а в видео рассказывается как работают внутри индексы на основе B деревьев

  • @glebkolobov
    @glebkolobov 3 года назад +2

    А если индекс по более, чем одна колонка, как индекс строится?

    • @Dev-lessons
      @Dev-lessons  3 года назад +1

      То же самое, просто представь, что данные отсортированы по двум колонкам. Например, фамилия и имя. Сначала сортируется по фамилии, а для тех, у кого фамилия одинаковая сортируется по имени. И потом по этому делу строится дерево.

  • @jorge.gancho
    @jorge.gancho 3 года назад +2

    Правильный способ изложения материала. По сути собес - смотрят как рассуждает человек

  • @codingfox
    @codingfox 2 года назад +1

    "Плоский" индекс вроде называют плотным)

  • @IgorGallemar
    @IgorGallemar 3 года назад +3

    Первый!!!

  • @dmitriys5353
    @dmitriys5353 Год назад

    +

  • @glebfadeev9782
    @glebfadeev9782 2 года назад

    как мне больно смотреть как вы с тачпадом мучаетесь

    • @Dev-lessons
      @Dev-lessons  2 года назад

      У Surface тач пад очень маленький и когда микрофон перекрывает доступ к нему и пользоваться неудобно. Но когда микрофон не мешает ещё терпимо

  • @leonid_konoplin
    @leonid_konoplin Год назад +1

    можно ли записать такое же видео про View в БД?

    • @Dev-lessons
      @Dev-lessons  Год назад

      Именно про индексы или в целом про представления? О представлениях я говорил тут:
      ruclips.net/video/KUu4TZjcSWg/видео.html