Index drauf und fertig. Klingt nach einem soliden Plan, oder?
Leider nur so lange, bis die Daten wachsen, der Workload kippt
oder der Optimizer plötzlich andere Entscheidungen trifft. Dann
wird aus dem vermeintlichen Performance-Booster schnell ein
Bremsklotz. Genau hier steigen wir in dieser Episode ein und
schauen uns an, warum Indexstrukturen in Datenbanken viel mehr
sind als ein technischer Quick Fix.
Wir sprechen darüber, was ein Index eigentlich ist, wie
Datenstruktur, Algorithmus, Hardware und Workload zusammenhängen
und warum Begriffe wie Selektivität, Kardinalität, Full Table
Scan, Write Amplification und Cache-Lokalität in der Praxis
entscheidend sind. Außerdem schauen wir auf typische
Datenbank-Themen wie Primary Key, B-Tree, Binary Search, Covering
Index, Optimizer, Slow Query Log und Explain Statements. Dabei
wird auch klar, warum ein Index manchmal hilft, manchmal
ignoriert wird und manchmal sogar langsamer ist als gar kein
Index.
Wenn du mit PostgreSQL, MySQL, MariaDB oder ganz allgemein mit
Datenbank-Performance arbeitest, bekommst du hier ein solides
Fundament und einige praktische Denkanstöße für deinen Alltag als
Softwareentwickler:in. Und ja, wir sprechen auch über Invisible
Indexes in MySQL. Ein Feature, das fast wie ein Zaubertrick
klingt, aber beim Testen und beim sicheren Aufräumen von
Legacy-Systemen überraschend praktisch sein kann. Viel Spaß beim
Hören und vielleicht beim anschließenden Blick auf dein
Datenbankschema.
Unsere aktuellen Werbepartner findest du auf
https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode:
(top) (geht
so)
Anregungen, Gedanken, Themen und Wünsche
Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle
…
EngKiosk Community:
https://engineeringkiosk.dev/join-discord
LinkedIn: https://www.linkedin.com/company/engineering-kiosk/
Email: stehtisch@engineeringkiosk.dev
Mastodon: https://podcasts.social/@engkiosk
Bluesky:
https://bsky.app/profile/engineeringkiosk.bsky.social
Instagram: https://www.instagram.com/engineeringkiosk/
Unterstütze den Engineering Kiosk
Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns
immer
Buy us a coffee: https://engineeringkiosk.dev/kaffee
Links
Engineering Kiosk Meetups:
https://engineeringkiosk.dev/meetup/
Workingdraft Podcast: https://workingdraft.de/
Engineering Kiosk Episoden zum Thema Kommunikation:
https://engineeringkiosk.dev/tag/kommunikation/
Engineering Kiosk Episoden zum Thema Datenbanken:
https://engineeringkiosk.dev/tag/datenbanken/
Engineering Kiosk Episode #151 Räumliche Indexstrukturen:
Grundpfeiler in Geo-Systemen, Games und Machine Learning:
https://engineeringkiosk.dev/podcast/episode/151-r%C3%A4umliche-indexstrukturen-grundpfeiler-in-geo-systemen-games-und-machine-learning/
Engineering Kiosk Episode #255 Die DB skaliert nicht! OLTP
vs. OLAP, Row vs. Column Stores, Parquet, CSV, Iceberg, DuckDB:
https://engineeringkiosk.dev/podcast/episode/255-die-db-skaliert-nicht-oltp-vs-olap-row-vs-column-stores-parquet-csv-iceberg-duckdb/
Very Large Databases Konferenzen: https://vldb.org/
Engineering Kiosk Episode #265 One Billion Row Challenge:
Java mit mmap, Unsafe & richtig vielen Bit-Tricks:
https://engineeringkiosk.dev/podcast/episode/265-one-billion-row-challenge-java-mit-mmap-unsafe-richtig-vielen-bit-tricks/
Bitmap-Index: https://de.wikipedia.org/wiki/Bitmap-Index
Invisible Indexes:
https://dev.mysql.com/doc/refman/8.4/en/invisible-indexes.html
Sprungmarken
(00:00:00) Indexstrukturen in Datenbanken: Warum das Thema
wichtig ist
(00:04:39) Was ein Index wirklich ist: Datenstruktur, Hardware
und Workload
(00:06:46) Info/Werbung
(00:07:46) Was ein Index wirklich ist: Datenstruktur, Hardware
und Workload
(00:14:57) Skalierung, Dataset-Änderungen und Observability für
Indizes
(00:21:38) Primary Key, Full Table Scan und binäre Suche einfach
erklärt
(00:25:51) Wann ein Index schadet: Selektivität, Kardinalität und
Optimizer
(00:31:04) Wie Datenbanken Indizes auswählen und
Optimizer-Entscheidungen treffen
(00:40:53) Hauptspeicher vs. Sekundärspeicher: B-Baum und
Binärbaum
(00:50:23) Praxis-Tipps für Index-Design in PostgreSQL, MySQL und
Co.
(00:55:24) Legacy-Systeme, Monitoring und sichere Änderungen an
Indizes
(01:03:14) Invisible Indexes in MySQL: Performance testen ohne
Risiko
Hosts
Wolfgang Gassler (https://gassler.dev)
Andy Grunwald (https://andygrunwald.com/)
Community
Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in
unserer Engineering Kiosk Community unter
https://engineeringkiosk.dev/join-discord
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.