Indeks w bazie danych co to jest i jak działa #62

Поділитися
Вставка
  • Опубліковано 1 гру 2024

КОМЕНТАРІ • 105

  • @carlm8148
    @carlm8148 4 роки тому +34

    Ale kozak i to za darmo taka wiedza. Ma talent do nauczania.

  • @aleksandrazajdel2070
    @aleksandrazajdel2070 3 роки тому +17

    Mówiąc szczerze to z Twojego 16 minutowego filmiku wyniosłam zdecydowanie więcej niż z 1.5 h wykładu na studiach. Dzięki wielkie za dzielenie się wiedzą i to w tak umiejętny sposób! :)

  • @JanKowalski-ld4ec
    @JanKowalski-ld4ec Рік тому

    Bardzo klarownie przedstawione tematy. Przyjemnie się ogląda tak profesjonalny poziom wiedzy i tak pozbawione maniery nauczanie. Prosty flipchart zamiast wodotrysków wystarczy jak widać. Serdeczne dzięki. Powodzenia i Tobie!

  • @nataliej.6110
    @nataliej.6110 Рік тому

    Nasz prowadzący chyba próbował inspirować się Twoim filmem na laboratorium, ale niestety zrobił to baaardzo nieumiejętnie i strasznie to skomplikował tak, że było to zupełnie niezrozumiałe. Cieszę się, że trafiłam na ten kanał. Dzięki wielkie!

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

    Genialne, bardzo dziekuje za film! Zrozumiale dla osoby ktora zaczyna z bazami danych.

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

      Dziękuje i cieszę się, że pomogłem :)

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

    Dzięki za uzupełnienie materiału!

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

    Bardzo mi się podoba, że dajesz hasła jakich należy szukać żeby poszerzyć swoją wiedzę na dane zagadnienie. Dzięki czemu mogłem przenieść całą koncepcję na bazę danych smssql :) Dzięki!!

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

      Jeśli szukałeś ścieżek dostępu to te nagranie może Ci się spodobać: ua-cam.com/video/Pz9vFdnSsKk/v-deo.html

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

    kurde gościu, dzięki wielkie, wszystko jasne piknie wytłumaczone!

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

      proszę bardzo - polecam się na przyszłość :)

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

    Dobrze wytłumaczone.

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

    jestes gitem, szacun i dziekuje

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

    Bardzo pomocny filmik, dziękuję :)

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

      Cieszę się, że przypadł Ci do gustu:)

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

    Robisz bardzo fajną robotę, oby tak dalej 🙂

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

    Jak można ten filmik minusować... Dzięki za Twoją pracę!

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

    Super materiał wszystko czarno na białym wyjaśnione, bardzo dziękuję za pomoc. :)

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

      Bardzo się cieszę, że materiał się przydał :)

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

    Dzieki, za fajne wytłumaczenie tematu indexów, jeden z lepszych kanałów o bazach danych :)

  • @fatallny
    @fatallny 4 роки тому +4

    Cześć Darku, kolejny super odcinek, oby tak dalej :-) Fajnie byłoby zobaczyć tematy które poruszasz w praktyce. Nowe osoby na pewno lepiej zrozumiałyby jak to działa, na przykład pokazać dwa takie same zapytania, jedno z indexami, a drugie bez :-)

    • @nieinformatyk
      @nieinformatyk  4 роки тому

      dziękuję za sugestię, postaram się dopracować plan nagrań :)

  • @NecesitoLaMusica
    @NecesitoLaMusica 4 роки тому +1

    Wiedziałam o zaletach, ale nigdy nie pomyślałam o tym, że może spowolnić modyfikacje zawartości tabeli. Dzięki!

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

    Dla zasięgu!

  • @paulinamanda1803
    @paulinamanda1803 4 роки тому +1

    Wszystko jasne, dzięki!

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

    Świetny materiał! Dzięki!

  • @adriangoleba9972
    @adriangoleba9972 4 роки тому +1

    Cześć Darku, materiał w 100% zrozumiany za co dziękuję!
    Myślę, że mógłbyś nagrać dodatkowy odcinek pokazujący jak w praktyce różnią się zapytania z indeksami i bez.
    Pozdrawiam serdecznie!

    • @nieinformatyk
      @nieinformatyk  4 роки тому +1

      Właśnie nagrałem taki odcinek. Ukaże się w kolejnych tygodniach :)

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

    Opisane elagancko :)

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

    Świetny odcinek!

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

    Dziękujemy.

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

    Dlaczego dopiero teraz odkryłam ten kanał.... :c

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

    Siemano, odcinek jest świetny jak zawsze na Twoim kanale! Zabrakło mi jednak praktyki oraz dokładnego omówienia - kiedy dokładnie tworzyć indeksy? To zależy od tego jakie mamy dane w tabeli, czy co? Kiedy zrobić indeks złożony(?) a kiedy na jednej kolumnie? Chociaż wspomniałeś że to będzie w następnych odcinkach, więc spoko, a ten wstęp który zrobiłeś jest jak najbardziej świetny i potrzebny, po prostu mówię że czekamy na więcej :D (chyba że już jest, zaraz spojrzę xddd)

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

      Obejrzyj ten odcinek i 2 kolejne z playlisty: ua-cam.com/video/U0Gxv9GU46o/v-deo.html
      Trudno zebrać to wszystko w jeden odcinek. Nie chcę by video trwało ponad 20 minut więc dzielę to na pojedyncze tematy. A kwestia, gdzie i jaki indeks tworzyć to w skrócie: klucze główne i klucze obce. A reszta wymaga trochę więcej do opowiedzenia. Nagram kiedyś kurs optymalizacji SQL to poświęcimy temu zagadnieniu cały kilkugodzinny moduł :)

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

      @@nieinformatyk super! Czekam właśnie na zagadnienia dotyczące optymalizacji zapytań SQL i wgl projektowania bazy danych bo to ciekawy i ważny temat :) dzięki! Pozdro!

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

      @@sebon11 o projektowaniu znajdziesz co nie co tutaj: ua-cam.com/video/7zWS_hczS5c/v-deo.html no i oczywiście w kursie www.podstawybazdanych.pl

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

    super materiał ;p

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

    fajny talent artystyczny

  • @piotr8909
    @piotr8909 4 роки тому +1

    Suuper materiał :) I kiedy można liczyć na kolejny odcinek kursu PL/SQL?

    • @nieinformatyk
      @nieinformatyk  4 роки тому +1

      kolejny odcinek PL/SQL to będzie kontynuacja pisania triggera, myślę, że około miesiąc :) Polecam zapisać się na newsletter, bo jeszcze w tym roku pojawi się szansa uczestnictwa w kompleksowym szkoleniu PL/SQL od A od Z: nieinformatyk.pl/

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

    super odcinek i czekam na kolejny: kiedy i jakiego rodzaju indeksu użyć?

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

      Zależy o jaki rodzaj pytasz, są b-tree(drzewiaste) i bitmapowe, unikalne i nieunikalne, rosnące i malejące, itd. Podaj konkretny case to powiem Ci co bym wybrał :)

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

    Chętnie zobaczyłbym porównanie na żywym przykładzie jak dużo czasu można zyskać tworząc indeksy.
    Na przykład bez indeksów wykonuje się 3 sekundy, z indeksami 1
    Również statystyka w postaci konkretnych danych o ile operacje DML zostają spowolnione

    • @nieinformatyk
      @nieinformatyk  4 роки тому

      dziękuję za sugestię, postaram się coś wymyślić :)

    • @michal5869
      @michal5869 4 роки тому

      @@nieinformatyk jak wyrzucisz coś z indeksu to DB musi zrobić ponowne sortowanie? a jak tak to czy może przenieść tylko z końca jakiś element indeksu dla przyspieszenia?

    • @nieinformatyk
      @nieinformatyk  4 роки тому

      @@michal5869 tak, proces aktualizacji indeksu to tzw. rebuild - dlatego DML na tabeli jest wolniejszy, bo indeks trzeba aktualizować.
      Nie rozumiem drugiego pytania :)

    • @michal5869
      @michal5869 4 роки тому

      @@nieinformatyk chodzi mi o sortowanie, czy db może kasowany wiersz indeksu zastąpić innym istniejącym aby nie uniknąć sortowania.

    • @nieinformatyk
      @nieinformatyk  4 роки тому

      @@michal5869 Indeks w standardowej postaci B-Tree zawiera 2 kolumny(oczywiście nie dosłownie). Jest to klucz indeksu, czyli indeksowana wartość oraz ROWID - identyfikator rekordu z daną wartością klucza.
      Jeśli modyfikujesz klucz indeksu, np. zmieniasz wartość z 5 na 10, X na Y to indeks musi zostać posortowany. Jeśli z kolei zmieniasz inną kolumnę w rekordzie tabeli(nieindeksowaną) to indeksu nie trzeba aktualizować, bo wartość klucza i ROWID się nie zmieniła.
      Tak samo, gdy usuwasz rekord z tabeli to indeks musi zostać posortowany, bo przecież trzeba ze struktury indeksu usunąć jeden z kluczy. Jak chciałbyś zastąpić jeden wiersz drugim?

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

    W mowie koncowej moglbys zawrzec odnosniki do swoich nagran w ktorych omawiasz wspominane zagadanienia. CZyli jak mowisz, ze cos tam bedzie pozniej bo jest zaawansowane to fajnie jakby w rogu ekranu pojawil sie link do twojego nagrania z tym, bo tak to trzeba szukac a uzytkownicy kaprysni sa

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

      Tu problem jest taki, że trudno spamiętać, o czym mówiłem w każdym z poprzednich nagrań i do czego odsyłałem. Ale dzięki za feedback, pomyśle jak to rozwiązać.

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

    12:00 - czy na pewno w tym przypadku operacja DELETE będzie wolniejsza dla tabeli z indeksem unikalnym na polu ID?
    Przecież dzięki indeksowi polecenie DELETE WHERE ID w momencie znalezienia określonego ID usunie ten rekord i już nie będzie szukać kolejnych rekordów bo wie że ID jest unikalne. Usunie też rekord w indeksie. Jeżeli szukane ID znajduje się na pierwszym miejscu w indeksie to baza wykona tylko 2 operacje: kasacja rekordu z tabeli i z indeksu.
    W przypadku braku posiadania indeksu na kolumnie ID polecenie DELETE WHERE ID usunie 1 rekord jeżeli znajdzie odpowiednie ID i będzie przeszukiwać dalej całą tabelę, bo nie wie czy gdzieś jeszcze takiego ID nie ma. Więc liczba operacji wykonanych na bazie może być tutaj ogromna, bo pomimo tego że wiemy iż jest tylko 1 takie ID do usunięcia to będziemy musieli przeszukać całą tabelę. W przypadku posiadania indeksu unikalnego zaprzestaniemy po pierwszej udanej próbie.

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

      Świetna uwaga :) Wolniejsza będzie w tym sensie, że zamiast robić DELET-e na tabeli musisz robić DELETE na tabeli i DELETE na indeksie. Oczywiście, jeśli tabela będzie odpowiednio duża to czas FULL TABLE SCAN może być dużo dłuższy niż 2 DELETE z indeksem unikalnym. Wtedy mamy do czynienia z wyjątkiem potwierdzającym regułę ;)
      PS. Przyszła mi do głowy jeszcze jedna rzecz, którą należałoby sprawdzić. DELETE usuwa najpierw rekord z tabeli czy z indeksu? Bo jeśli indeks jest pierwszy to na tabeli i tak poleci FULL TABLE SCAN.

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

      @@nieinformatyk Propo PS to chyba powinien skasować najpierw z tabeli zgodnie z jakąś podstawową logiką zysków i strat. A czy tak jest to w sumie cholera wie Oo
      Jeżeli i tak i tak skanuje całą tabelę to trochę niefajne te indeksy w operacjach modyfikacji wartości unikalnych.

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

    a co jezeli damy limit 1? wtedy full scan chyba sie przerwie prawda/?

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

    Dzień dobry, co się dzieje z indeksami na tabeli przy próbie usunięcia tabeli SQL?

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

      indeksy podobnie jak constrainty czy triggery są usuwane razem z tabelą

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

      @@nieinformatyk Bardzo Panu dziekuje za odp i czekam na kolejne odcinki !

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

      @@katarzynaniebrzydowska7317 chwilowo zwolniłem, bo przygotowuję kurs programowania PL/SQL, ale wkrótce wracam z nowymi :)

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

    👍👍

  • @micskrzy
    @micskrzy 19 днів тому

    Dziełks bq!

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

    może coś o rodzajach indeksów?

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

      dodałem do listy, która co raz szybciej się wydłuża :D

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

      Właśnie nagrałem materiał o który prosiłeś. Daj znać czy Ci się podoba🙂 ua-cam.com/video/MEl3uBPTjJk/v-deo.html

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

    #zasieg

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

    Mi tylko brakuje jakiegos praktycznego przykładu :)

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

      Zerknij na pozostałe odcinki tej playlisty - znajdziesz tam niejeden przykład :) ua-cam.com/video/wrgKifVK0wg/v-deo.html

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

      @@nieinformatyk jasne, zerkne po pracy

  • @pawelkubrak547
    @pawelkubrak547 4 роки тому

    good film. record more.

    • @nieinformatyk
      @nieinformatyk  4 роки тому

      thank you :) come back every Saturday :)

  • @Lucky-ec8xo
    @Lucky-ec8xo 2 місяці тому

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

    #zasieg2

  • @damiankrasniewski4946
    @damiankrasniewski4946 4 роки тому

    Komentarz dla statystyk

  • @Solban_
    @Solban_ 4 роки тому

    Samy Kamkar lepszy

    • @Solban_
      @Solban_ 4 роки тому

      Ale i tak fajnie bo Samy Kamkar to największy koks

  • @kol19pl
    @kol19pl 4 роки тому

    niestety nie pomocne przy tym czego szukam