MySQL: Anleitungen und Praxiswissen | Seite 8 | mironsoft Blog
MySQL
-
02.06.2025
Das sys-Schema übersetzt die kryptischen Rohdaten der Performance Schema in lesbare Views mit Klarnamen, formatierten Zeit- und Byte-Angaben und sinnvoll vorgefilterten Ergebnissen. Wer nicht jeden Tag eine neue JOIN-Abfrage gegen performance_schema schreiben will, findet hier den schnelleren Weg zur gleichen Erkenntnis.
-
24.05.2025
Ohne konsequente Tabellen-Archivierung sammeln sich in quote und sales_order Millionen verwaister Warenkorb-Zeilen und Jahre alter Bestellhistorie an, die jede Abfrage verlangsamen und Backups aufblaehen. Eine durchdachte Archivierungsstrategie trennt aktive Transaktionsdaten von historischen Datenbestaenden, ohne referenzielle Integritaet oder Compliance-Anforderungen zu gefaehrden.
-
24.05.2025
Irgendwann stößt ein einzelner, noch so gut getunter MySQL-Server an Grenzen, sei es beim Datenvolumen, bei der Schreiblast oder bei der Anzahl gleichzeitiger Verbindungen. Vitess löst dieses Problem, indem es eine Proxy-Schicht vor die eigentlichen MySQL-Instanzen legt, die Sharding transparent verbirgt: Die Anwendung verbindet sich weiterhin wie gewohnt über das MySQL-Protokoll und merkt im Idealfall nichts von der Verteilung der Daten über mehrere Shards. Ob dieser Ansatz sinnvoll ist, hängt stark von der tatsächlichen Datengröße und Traffic-Größenordnung ab, denn die Komplexität von Vitess ist erheblich.
-
16.05.2025
Einen neuen Replica für eine große Magento-Datenbank aufzusetzen, bedeutete lange Zeit entweder einen stundenlangen mysqldump-Import oder den Einsatz eines externen Werkzeugs wie xtrabackup. Seit MySQL 8.0.17 übernimmt das eingebaute Clone-Plugin diese Aufgabe direkt im Server: ein physischer, seitenbasierter Kopiervorgang, der bei mehreren hundert Gigabyte großen Datenbanken den Unterschied zwischen Minuten und Stunden ausmacht.
-
13.05.2025
Ein Index auf eine Spalte mit nur zwei möglichen Werten bringt fast nie eine spürbare Beschleunigung, egal wie groß die Tabelle ist. Cardinality beschreibt die Anzahl unterschiedlicher Werte in einer Spalte, Selektivität ihr Verhältnis zur Zeilenanzahl, und beide Kennzahlen entscheiden gemeinsam mit dem Optimizer, ob ein Index überhaupt genutzt wird.
-
19.04.2025
Claude kann aus einer fachlichen Beschreibung einen ersten Entwurf für eine db_schema.xml-Änderung oder einen Data Patch erstellen und beschleunigt damit den Einstieg in Magento-Datenbankmigrationen erheblich. Trotzdem ersetzt kein KI-Vorschlag die manuelle Prüfung, denn Änderungen an Produktionsdaten sind selten folgenlos rückgängig zu machen und verdienen zusätzliche Sorgfalt bei jedem Schritt.
-
12.04.2025
Nicht jedes Suchfeld braucht sofort Elasticsearch. MySQL bringt mit FULLTEXT-Indizes, Natural Language Mode und Boolean Mode eine vollwertige Volltextsuche direkt in der Datenbank mit, die für viele Anwendungen ausreicht, ohne zusätzliche Infrastruktur, zusätzliche Latenz und zusätzliche Konsistenzprobleme zwischen zwei Systemen.
-
03.04.2025
Natives Online DDL löst längst nicht jedes Problem großer, schreibintensiver Tabellen. Sobald der interne Row-Log von MySQL an seine Kapazitätsgrenze stößt oder eine Operation zwingend eine volle Tabellenkopie erfordert, bleibt oft nur ein externes Werkzeug. pt-online-schema-change aus dem Percona Toolkit löst genau dieses Problem über einen Trigger-basierten Shadow-Table-Ansatz, der seit vielen Jahren in produktiven Datenbanken mit mehreren hundert Gigabyte im Einsatz ist.
-
01.04.2025
Der Disk-I/O-Scheduler unter Linux entscheidet, in welcher Reihenfolge Lese- und Schreibanfragen an das Blockgeraet weitergereicht werden, lange bevor MySQL selbst etwas davon merkt. Auf NVMe-Storage kann die falsche Wahl mehr Latenz kosten als jede MySQL-Konfigurationsaenderung einsparen kann.
-
27.03.2025
JSON_TABLE ist eine der weniger bekannten, aber praktisch sehr nützlichen Funktionen in MySQL 8: Sie wandelt ein JSON-Dokument, egal ob als Spaltenwert gespeichert oder als Literal in der Query selbst formuliert, in eine reguläre, mit anderen Tabellen joinbare Ergebnismenge um. Statt JSON-Werte umständlich über mehrere JSON_EXTRACT-Aufrufe herauszulösen, liefert JSON_TABLE direkt Zeilen und Spalten, die sich wie jede andere Tabelle behandeln lassen. Dieser Artikel zeigt die grundlegende Funktionsweise, konkrete Anwendungsfälle im Umfeld von Magento-Attributdaten und wo die Performance-Grenzen im Vergleich zu einer echten normalisierten Tabelle liegen.