#269 Performance-Basics: Indexstrukturen, Cache-Lokalität & Zugriffsmuster

#269 Performance-Basics: Indexstrukturen, Cache-Lokalität & Zugriffsmuster

vor 5 Stunden
1 Stunde 5 Minuten
0
0 0 0

Beschreibung

vor 5 Stunden

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
15
15
Close