Индексы | Основы SQL

Поділитися
Вставка
  • Опубліковано 2 чер 2024
  • Лекция по индексам в базах данных. Страница курса - www.asozykin.ru/courses/sql
    Поддержать курс можно через сервис Cloudtips - pay.cloudtips.ru/p/45a4055b
    Заранее спасибо за помощь!
    VK - avsozykin
    telegram - t.me/a_sozykin
    Мой сайт - www.asozykin.ru
    00:00 - Индексы в базах данных
    01:55 - Создание индекса
    02:32 - Использование индексов
    03:55 - Индекс по нескольким столбцам
    04:55 - Удаление индекса
    05:05 - Недостатки индексов
    05:49 - Итоги
    Инструкция по созданию демонстрационной базы данных, которая используется в курсе - www.asozykin.ru/posts/demo_da...
    Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках - / andreysozykincs
  • Наука та технологія

КОМЕНТАРІ • 119

  • @user-lk6dw4fd2b
    @user-lk6dw4fd2b 2 роки тому +42

    С первых секунд видео понял, что сделано оно очень корректно и внятно. Автору однозначно респект!

  • @mikisor4372
    @mikisor4372 3 роки тому +65

    Пожалуйста продолжайте! Очень хочется лекций по SQL для продвинутого уровня.

    • @AndreySozykin
      @AndreySozykin  3 роки тому +7

      Спасибо за приятный отзыв! Какие именно темы продвинутого уровня интересуют?

    • @mikisor4372
      @mikisor4372 3 роки тому +14

      @@AndreySozykin оконные функции, рекурсивые подзапросы, как писать джобы, процедуры. Углубление в тему индексов.

    • @AndreySozykin
      @AndreySozykin  3 роки тому +29

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

    • @mikisor4372
      @mikisor4372 3 роки тому +2

      @@AndreySozykin отлично!

    • @user-fv1ht8fj2z
      @user-fv1ht8fj2z 2 роки тому +1

      Поддерживаю!! 👍

  • @sense3247
    @sense3247 2 роки тому +8

    Как физически выглядят индексы? Таблицу показали, показали как будет происходить поиск без индексов, а как будет происходить поиск с использованием индексов не показали

  • @oskardomnin3123
    @oskardomnin3123 3 роки тому +29

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

    • @AndreySozykin
      @AndreySozykin  3 роки тому +4

      Да, такой недостаток тоже есть.

  • @mikhailfedorov4034
    @mikhailfedorov4034 Рік тому +6

    Огромное спасибо за вашу деятельность! У вас лучшие лекции по SQL и Сетям!

  • @alexeyarioni8149
    @alexeyarioni8149 2 роки тому +4

    Подробно, сжато, идеально! Мен, ты проделал очень хорошую работу.

  • @rutexgreat3619
    @rutexgreat3619 Рік тому +6

    Отлично. Коротко просто и информативно.
    Не хватает чуть деталей о том как оно сделано под капотом и засчет чего достигается скорость работы, в одном слайде на минуту другую или хотя бы пару слов, но в остальном - спасибо!

    • @AndreySozykin
      @AndreySozykin  Рік тому +4

      За пару минут такое не расскажешь 😉
      Планирую отдельную серию видео о внутреннем устройстве баз данных, в том числе индексов.

  • @1988alexsh
    @1988alexsh Рік тому +1

    Кратко, структурированно, понятно.
    Спасибо огромное!!!

  • @dobivan
    @dobivan 2 роки тому +4

    Очень полезное видео. Не хватает только примера со уменьшением времени поиска на огромных выборках. А также примера, за счёт чего индекс работает быстрее (строки таблицы выстраиваются в бинарное дерево поиска по индексируемому полю. Делая по нему обход по условию и идя от корня, вы идёте в одну из ветвей, а во вторую даже не заходите, и так да самых листьев дерева. Огромное количество не подходящих под условие строк вы просто не обходите, за счёт этого и повышается производительность),

    • @AndreySozykin
      @AndreySozykin  2 роки тому +2

      Спасибо за отзыв.
      Пример с уменьшением времени поиска еще сделаю.
      Внутреннее устройство индексов специально решил не включать в курс. Бинарное дерево - это только один из вариантов устройства индексов. Есть еще несколько других, которые эффективны в определенных случаях. Получается отдельная большая тема. Но она будет интересна скорее админам баз данных, а не начинающим разработчикам.

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому +1

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

  • @Phoenix-dx8oo
    @Phoenix-dx8oo 2 роки тому +1

    Большое спасибо за Ваш труд!

  • @volselongames4505
    @volselongames4505 Рік тому +4

    Чувак от души, самое лучшее видео по индексам на всём youtube, успехов тебе

    • @AndreySozykin
      @AndreySozykin  Рік тому

      Спасибо!

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому

      Он тебе не чувак, чувак. Он Андрей Созыкин.

  • @vitaliypunko1331
    @vitaliypunko1331 3 роки тому +8

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

    • @AndreySozykin
      @AndreySozykin  3 роки тому +5

      Пожалуйста! Да, с индексами дела обстоят именно так!

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому

      @@AndreySozykin
      А вот такой пример: пусть в таблице 6 столбцов, на последние 3 столбца созданы индексы, а мы меняем много значений в первых 3х столбцах. Вопрос: индексы же не будут перестраиваться/обновляться - или будут? Ведь "их" столбцы не меняются.

  • @Evangalie
    @Evangalie 3 роки тому +13

    Качество видео значительно повысилось. Ценность видео тоже. Спасибо вам большое

    • @AndreySozykin
      @AndreySozykin  3 роки тому +2

      Спасибо за отзыв, я действительно постоянно стараюсь что-то улучшить. Качество по сравнению с какими видео повысилось?

    • @Dragoncheg
      @Dragoncheg 2 роки тому +1

      А какие видео были более низкого качества по сравнению с этим?

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому

      @@AndreySozykin
      я и сети-то Ваши посмотрел со смартфона, а уж этот sql будто и вовсе спецом для смартфонов сделан☝🏼👍🏼 Смотрел сидя, лежа, на кухне, на диване - так даже ноут с собой не потаскаешь. Полный восторг.

  • @user-wq9gc4rj3w
    @user-wq9gc4rj3w Рік тому

    Отличное видео. Быстро и в полной мере понял что такое индексы. Спасибо.

  • @user-gq2vi4yw3j
    @user-gq2vi4yw3j 3 місяці тому +1

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

    • @AndreySozykin
      @AndreySozykin  3 місяці тому

      Спасибо за приятный отзыв!

  • @DenisAntropov
    @DenisAntropov Рік тому

    отличная лекция, спасибо вам!!!

  • @alexk6125
    @alexk6125 Рік тому

    Отличный урок. Спасибо!

  • @AleksandrGolrichtGlrcht
    @AleksandrGolrichtGlrcht Рік тому

    Продвижения каналу, большое вам спасибо

  • @ffonlfoff5005
    @ffonlfoff5005 Рік тому +3

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

  • @halcyon-s
    @halcyon-s Рік тому

    Большое спасибо за урок!

  • @VideoMaker1
    @VideoMaker1 2 роки тому

    спасибо, все понятно. Без воды

  • @MRoose
    @MRoose 2 роки тому +1

    Быстро и только самое важное. Спасибо большое

    • @AndreySozykin
      @AndreySozykin  2 роки тому

      Пожалуйста. Рад, что нравиться!

  • @user-pw4dv7hf6b
    @user-pw4dv7hf6b 3 роки тому +4

    Очень качественно и доступно подана информация. Спасибо большое за такой мини-курс. 👍

    • @AndreySozykin
      @AndreySozykin  3 роки тому +1

      Пожалуйста! Рад, что понравилось.

  • @user-en2mg3wx8l
    @user-en2mg3wx8l 2 роки тому +1

    Большое спасибо за работу

  • @user-xp7hb8jh8j
    @user-xp7hb8jh8j 2 роки тому +4

    оч круто, все по теме. Спасибо

  • @Damir-nl6tf
    @Damir-nl6tf 3 місяці тому +1

    Спасибо за ваш труд

  • @user-sw1xi9rp8q
    @user-sw1xi9rp8q Рік тому +1

    Здравствуйте! Начиная с какого примерно количества строк в таблице целесообразно применять индексы?

  • @user-qw9uo4wo5p
    @user-qw9uo4wo5p 2 роки тому +2

    Благодарю! Применяю в работе тестировщика! :)

  • @cheremushk
    @cheremushk 2 роки тому

    Видео содержит концентрированную инфу по индексам. Никакой воды. То, что искал.
    Дядь, можно у Вас спросить?
    sql запрос: WHERE field1 & ' ' & field2 like "АСД*"
    Ускорит ли его выполнение индекс по (field1 , field2)

  • @user-ku4qv8sz5b
    @user-ku4qv8sz5b Рік тому +4

    Понял только что индексы ускоряют сортировку и поиск по фильтру. А что это такое, в чем их логика - нихрена не ясно. "'особая структура данных" .. так можно сказать про что угодно.

  • @Genusor
    @Genusor 2 роки тому +7

    Спасибо за видео. Мне показалось, что чтобы лучше осознать пользу в индексах, было бы неплохо иметь один небольшой, но ощутимый пример со временем извлечения запроса, до и после создания индекса в этом уроке. Возможно в качестве минуса, показать как ухудшается это же время после добавления информации. Понятно, что время будет условным, ну как какой-то показатель разницы в результате.

    • @AndreySozykin
      @AndreySozykin  2 роки тому +3

      Да, по индексам планирую подобное видео записать.

  • @Ivan-vb7ch
    @Ivan-vb7ch 2 роки тому +1

    таблица супергероев

  • @user-ur6wk7bi8d
    @user-ur6wk7bi8d Рік тому

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

  • @kelevra1493
    @kelevra1493 2 роки тому

    Офигенно!

  • @old891
    @old891 3 роки тому +4

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

    • @AndreySozykin
      @AndreySozykin  3 роки тому +3

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

  • @ramos6501
    @ramos6501 9 місяців тому +1

    Хотелось бы более углубленное видео - кластеризованные и некластеризованные индексы, columnstore index, оптимизация запросов

  • @lexbekker
    @lexbekker Рік тому

    Парень в фиолетовой рубашке - лучший из всех парней в рубашке

  • @user-zn6vv2oo7i
    @user-zn6vv2oo7i Рік тому +1

    Спасибо, вам!😩

  • @anele4492
    @anele4492 2 роки тому

    СПАСИБО!!!

  • @worlzpnz
    @worlzpnz 3 роки тому

    Супер!!! Вот мой комментарий!

  • @SemenAlexndrovich
    @SemenAlexndrovich 2 роки тому

    Спасибо!

  • @0rionica
    @0rionica 7 місяців тому

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

  • @vladimirpsy8755
    @vladimirpsy8755 Рік тому

    можно ли сделать урок по типу данных ENUM? КАК работать с этим типом. делать запросы

  • @dimass67
    @dimass67 11 місяців тому +1

    Изменение в исходной таблице это что? Добавление/удаление/обновление или только обновление?

  • @Misster_Lis
    @Misster_Lis 8 місяців тому +1

    а самое главное почему индексы работают быстрее full table scan не сказал. Индексы формируются в B tree, благодаря чему скорость повышается с линейной до O(log n)

  • @BraentR
    @BraentR Рік тому

    Спасибо

  • @SHKIPPER989
    @SHKIPPER989 3 роки тому +2

    супер!

  • @user-lh6xe3zi1t
    @user-lh6xe3zi1t 7 місяців тому

    Из какого плейлиста эти видео? На вашей странице ютуб их не нашел

  • @feanorflame2700
    @feanorflame2700 3 роки тому +2

    Скажите, пожалуйста, это последнее видео в данном курсе по основам SQL? Если нет, то сколько еще лекций планируется?

    • @AndreySozykin
      @AndreySozykin  3 роки тому

      Ещё будут лекции про ограничения и представления.

    • @feanorflame2700
      @feanorflame2700 3 роки тому

      @@AndreySozykin спасибо)

  • @ukratitelkisok9726
    @ukratitelkisok9726 2 місяці тому +1

    Лучший

  • @Vays115
    @Vays115 Рік тому

    А как посмотреть существующие индексы таблицы?

  • @MrStealth232
    @MrStealth232 2 роки тому +3

    Отличные уроки, отличное качество. Union и view в вашем исполнении хотелось бы увидеть конечно

    • @AndreySozykin
      @AndreySozykin  2 роки тому

      Спасибо за приятный отзыв! Про VIEW лекция будет, про UNION не уверен. Мне кажется, UNION на практике редко используется.

  • @user-ey1ls6kv7h
    @user-ey1ls6kv7h 3 роки тому +2

    Отличное видео, с дублированным структурированным текстом что оч удобно, единственное что голос какой-то томный чтоли получился)

    • @AndreySozykin
      @AndreySozykin  3 роки тому +1

      Интересный эффект. Что значит томный голос? Надо энергичнее?

    • @user-ey1ls6kv7h
      @user-ey1ls6kv7h 3 роки тому +1

      @@AndreySozykin возможно, но это такое, прям придирки, может только мне так кажется) просто продолжайте выкладывать таких хорошие видео)

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому

      @@AndreySozykin
      офигенный голос!! ничего не меняйте!!!! и ритм норм!!!

  • @ivanorlov1925
    @ivanorlov1925 3 роки тому +2

    Это последнее видео? Очень надеюсь , что будет видео по оконным функциям и обобщенным табличным выражениям

    • @AndreySozykin
      @AndreySozykin  3 роки тому +6

      Нет, будут ещё. Но оконные функции и CTE - это темы явно не для курса начального уровня. Если интересно, то могу сделать продвинутый курс.

    • @ivanorlov1925
      @ivanorlov1925 3 роки тому +5

      @@AndreySozykin , сделайте , пожалуйста, я вас смотрел по компьютерным сетям раньше. Когда увидел курс по sql - обрадовался . Так четко и ясно , а самое главное педагогично, никто не рассказывает. Ни на stepik, ни в UA-cam. Кстати , почему на stepik не выложите курсы?

    • @AndreySozykin
      @AndreySozykin  3 роки тому

      Планирую выложить на openedu.ru

    • @user-we8if9zu6w
      @user-we8if9zu6w 3 роки тому

      @@AndreySozykin Спасибо! С нетерпением ждем продвинутый курс)

  • @anuarmurzakhmetov8910
    @anuarmurzakhmetov8910 Рік тому +1

    Спасибо, было очень полезно, однако на собеседовании спросили "что из себя представляют индексы?"

  • @sengokusky1515
    @sengokusky1515 2 роки тому +1

    5:06 - ошибка в последнем предложении.

  • @sashasasha9491
    @sashasasha9491 2 роки тому

    👍👍👍

  • @DalerDjalolov
    @DalerDjalolov 2 роки тому +1

    Комиксы топ !

    • @AndreySozykin
      @AndreySozykin  2 роки тому

      Рад, что тема нравится!

    • @manOfPlanetEarth
      @manOfPlanetEarth 5 місяців тому

      @@AndreySozykin
      Только я не понял: кто создает индексы? Админ БД или любой пользователь субд перед нужным ему запросом?

    • @estepanov_coder
      @estepanov_coder 4 місяці тому

      @@manOfPlanetEarth тот, кто создает базу, таблицы и т.д. В каких-то компаниях это админы, где-то это обычные разработчики. По хорошему все индексы нужно продумать еще на этапе проектирования БД. И создать вместе с таблицами. Но если у вас уже есть база с таблицами, и вы понимаете что можно оптимизировать какой-то запрос, то добавляете нужный индекс. Т.е. индексы не какое-то супер секретное оружие, о котором должен знать только админ. Его вполне может применять и программист

  • @user-sw5pg2mn4z
    @user-sw5pg2mn4z 4 місяці тому

    Я искал кластеризованные индексы но ничего не вышло

  • @user-ln6yc3rq1f
    @user-ln6yc3rq1f Рік тому +1

    Блин.. вот емае, подробно показано как построчно выполняется с запрос без индекса.. но почему не показано как работает запрос С ним 🙁

    • @AndreySozykin
      @AndreySozykin  Рік тому +2

      Индексы - сложная тема. Они бывают разных типов, работа которых сильно отличается. Если интересно, могу сделать серию видео про индексы.

  • @Deadly_Darkness
    @Deadly_Darkness Рік тому

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

  • @sergeiivanov7651
    @sergeiivanov7651 Рік тому +1

    Все супер кроме произношения английских слов

  • @unicoxr5tj417
    @unicoxr5tj417 Рік тому +2

    нече не понял, если честно. Пошел пересматривать

  • @user-yr2gx4wj7s
    @user-yr2gx4wj7s 2 роки тому +1

    Это че Дмитрий Комаров уже sql преподает???

    • @rostova911
      @rostova911 8 місяців тому

      Ахахахахаха

  • @user-bo2gp3pi4k
    @user-bo2gp3pi4k 2 роки тому

    ЭС ку эль...

  • @user-nu3ot7td1j
    @user-nu3ot7td1j 6 місяців тому

    вы что просто с книжки читаете

  • @AlexeyBaraguzin
    @AlexeyBaraguzin 9 місяців тому

    Отличный урок. Спасибо.

  • @user-jp6gv7gm8t
    @user-jp6gv7gm8t 3 роки тому +2

    Спасибо!

  • @raff_m_d6971
    @raff_m_d6971 2 роки тому

    Спасибо

  • @WhiteBear141981
    @WhiteBear141981 2 роки тому +1

    Спасибо!