Индексация в Базах Данных

Поделиться
HTML-код
  • Опубликовано: 19 сен 2015
  • Как работает индексация в базах данных?

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

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

    Я не встречал объяснений лучше этого! Этот автор - талантище объяснять!

  • @Molot502
    @Molot502 5 лет назад +44

    Володя, не оставляйте дело, вы даете очень правильную информацию в неокрепшие умы.

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

    Супер! Отличная подача материала.

  • @Boiko777
    @Boiko777 3 года назад +10

    Спасибо за видео! Мне кажется Вам стоит создать отдельный плейлист по SQL.

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

    Спасибо Володя!

  • @aleksandrcesko6112
    @aleksandrcesko6112 7 лет назад

    Спасибо за проделанную работу!

  • @lanalarsen1935
    @lanalarsen1935 4 года назад +7

    Оставили бы ссылки на видео про hashmap и bitmap

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

    видео супер

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

    Oчень очень годное видео

  • @bepserk
    @bepserk 8 лет назад +8

    ссылки на структуры данных выкладывай в описании, будет удобно

  • @skipper3355
    @skipper3355 4 года назад

    Без воды, конкретно и понятно

  • @Molot502
    @Molot502 5 лет назад +23

    Что такое кластерный/некластерный индекс ?

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

      думаю что кластерный это всегда тот индекс который лежит внутри самой таблицы и привязывается к primary key

    • @JohnWick-jp5vw
      @JohnWick-jp5vw Месяц назад

      Кластеризованный и нет. Кластеризованный меняет физическое расположение записей в таблице на диске

  • @AnySoftUser
    @AnySoftUser 8 лет назад +8

    Разница между innodb и myisam... Интересная тема для начинающих изучать бд.. имхо

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

    Аминь.

  • @user-ui8il2cm2p
    @user-ui8il2cm2p 4 года назад

    Классно, спасибо)

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

    даже не думал, что оно так

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

    Владимир, скажите пожалуйста, стоит ли перекладывать функции вычисления на движок БД или вычисления лучше производить скриптовыми языками (например php)? К примеру нужно выбрать разницу между ценами которые записаны в двух полях. Так что лучше, построить запрос таким образом: t1.f1 - t1.f2 или выбрать поля и средствами php уже произвести вычисления? В общем, есть ли существенная разница где производить вычисления, средствами движка БД или средствами php?

    • @gohardgomykhailovarenytsia9006
      @gohardgomykhailovarenytsia9006 3 года назад +6

      конечно же на стороне движка БД. Задача СУБД - ускорить такие вычисления и выполнение запросов. Это одна из главных задач СУБД, чтобы пользователь быстрее выполнял задачи движком СУБД, а не самостоятельно в своем языке программирования. Для таких целей движки СУБД под капотом используют кучу разных оптимизаций, которые Вы не примените в коде вашего приложения.

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

    Только вы не рассказали зачем нужен индекс и как его использовать

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

      ну дорогой, думаю за 2 года ты уже узанл что к чему :)

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

      @@oilondabeats9011 да, за 2 года я узнал:)

  • @user-zi3lb8qu3s
    @user-zi3lb8qu3s 2 года назад +1

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

  • @mirlaniusUMK
    @mirlaniusUMK 4 года назад +1

    четко! небесный лайк!

  • @user-eh1fv8yr7h
    @user-eh1fv8yr7h 4 года назад

    спасибо)

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

    В начале сказано что создается отдельная таблица, а где она, как её посмотреть?

  • @alexalex4601
    @alexalex4601 3 года назад +17

    Вместо того чтобы наглядно, на конкретном примере, показать как работает индекс полез в смежные темы. А тема индекса осталась нераскрытой. За подачу 2 балла.

  • @relaxnature6649
    @relaxnature6649 4 года назад

    Молодец

  • @vahagnpoghosyan1499
    @vahagnpoghosyan1499 6 лет назад

    Здесь MAP == отображение

  • @oleksiimarchenko3470
    @oleksiimarchenko3470 7 лет назад +2

    Володя, я не понял, должен признать. Я использую в запросе внешний ключ нужной таблицы и нахожу нужную мне строку без создания специально каких-то индексов, которые могут формировать соизмеримую по размерам с основной таблицу. ЗАЧЕМ ИНДЕКСИРОВАТЬ? Это структурирование данных по определенному (одному из приведенных 4-х) алгоритму для того, чтобы по столбцу поиск производился быстрее?

    • @curculio
      @curculio 7 лет назад +1

      "использую в запросе внешний ключ нужной таблицы и нахожу нужную мне строку без создания специально каких-то индексов" - это поиск последовательным перебором.
      индекс же сразу по значению поля говорит какой по счету будет нужная строка в исходной таблице

    • @vladyslavkhymenko6598
      @vladyslavkhymenko6598 7 лет назад +1

      не знаю, актуально ли еще, но, если совсем грубо, то если Вы "используете в запросе внешний ключ нужной таблицы", то поиск производится построчно (видим в консоли "affected rows"), если же выборка производится с помощью индекса, то БД сразу понимает, в какой строке нужно искать нужное значение и не тратит ресурсы на перебор этих строк. (что, если строк у Вас в БД 100500+?)

    • @victorklimov5254
      @victorklimov5254 7 лет назад +2

      Согласен с Владом и Knave Spammer. Только хотел бы уточнить. Оба использовали выражение "сразу же находит" в противоположность к последовательному поиску. Последовательный поиск производится за линейное время. "Сразу же" - это константное время. Алгоритмы, которые показал Володя не факт, что работают за константное время. Поэтому точнее было бы сказать "Индексирование позволяет находить быстрее, чем последовательным перебором"

    • @meosaganami5472
      @meosaganami5472 4 года назад

      @@victorklimov5254 время index seek можете считать константным и незначительным

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

      если вы используете внешний ключ для ссылки на главную таблицу - это значит, что у главной таблицы есть ПЕРВИЧНЫЙ КЛЮЧ. А когда вы для какой-либо таблицы создаете ПЕРВИЧНЫЙ КЛЮЧ - он автоматически создает под капотом индекс. Так что считайте, что в вашем примере поиск идет по индексу.

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

    Правильно ли используется термин коллизия? В сетях коллизия это когда 2 процесса пытаются захватить 1 ресурс. А здесь кто кому мешает?

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

      Здесь под коллизией имеется ввиду, что разные значения будут давать одинаковый хэш-код.

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

    Одно слово - почти!

  • @user-cy3yi3cw4f
    @user-cy3yi3cw4f 4 года назад +17

    Плохое негодное объяснение.

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

    Зрелище не для слабых умов

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

    абсолютно непонятно

  • @ruslan7503
    @ruslan7503 5 лет назад +2

    Батюшка?

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

    Не понятно

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

    Максимально непонятно объяснил. Дизлайк.