SQL: Anleitungen und Praxiswissen | Seite 6 | mironsoft Blog
SQL
-
11.01.2026
Wer grosse Datenmengen per Zeile fuer Zeile einfuegt, aktualisiert oder loescht, produziert Lock-Eskalation, aufgeblaehte Transaktionslogs und Laufzeiten im Stundenbereich. Mit durchdachtem Batching, temporaer deaktivierten Indizes und richtig dimensionierten Chunks werden dieselben Bulk-Operationen zu einer Aufgabe von Minuten, ohne den laufenden Betrieb der Datenbank zu blockieren.
-
07.01.2026
Magento MySQL-Konfiguration: sql_mode, innodb_buffer_pool_size, max_connections, tmp_table_size und max_allowed_packet – warum jede dieser Einstellungen kritisch ist und wie ein vollständiges my.cnf für einen 16-GB-Server aussieht.
-
07.01.2026
Hasura verwandelt eine bestehende PostgreSQL-Datenbank in Sekunden in eine vollständige GraphQL-API, inklusive Filtern, Sortierung, Pagination und Beziehungen, ganz ohne einen einzigen Resolver zu schreiben. Der Ansatz eignet sich hervorragend für bestimmte Szenarien und ist für andere komplett ungeeignet. Dieser Artikel zeigt konkret, wo die Grenze verläuft.
-
02.01.2026
Bei einer klassischen Many-to-Many-Verbindungstabelle stehen zwei Wege offen: die beiden Fremdschlüssel selbst als zusammengesetzten Primärschlüssel zu verwenden, oder eine eigene, unabhängige Surrogate-ID zu vergeben. Beide Varianten sind technisch gültig, unterscheiden sich aber deutlich in Eindeutigkeitsgarantien, Indexverhalten, ORM-Kompatibilität und der Fähigkeit, spätere Zusatzattribute sauber zu referenzieren. Dieser Artikel arbeitet die konkreten Trade-offs anhand einer typischen Verbindungstabelle mit Zusatzattributen heraus und zeigt, wann welcher Ansatz tatsächlich der bessere ist.
-
28.12.2025
Ein Fremdschluessel ist kein optionales Dekorationselement, sondern der Mechanismus, mit dem eine Datenbank referentielle Integritaet selbst durchsetzt, statt sich auf Anwendungscode zu verlassen. Dieser Beitrag erklaert die FOREIGN KEY Syntax, das Verhalten von ON DELETE CASCADE, RESTRICT und SET NULL im Detail, die Bedeutung von ON UPDATE, die richtige Indexierung von Fremdschluesselspalten und warum das Deaktivieren von FK-Checks fuer vermeintliche Bequemlichkeit fast immer zu Datenkorruption fuehrt.
-
27.12.2025
Die meisten PHP-Entwickler kennen PDO nur von query() und fetch(). Wer PDO fortgeschritten nutzt, kontrolliert Fetch-Modi gezielt, setzt Transaktionsgrenzen bewusst und vermeidet die typischen Performance-Fallen bei Bulk-Operationen, die in Tutorials selten vorkommen, in Produktionscode aber täglich auftreten.
-
25.12.2025
Die Wahl des Primärschlüssel-Typs wirkt auf den ersten Blick wie eine Detailentscheidung, hat aber direkte Auswirkungen auf die physische Struktur des Index, auf Fragmentierung, Cache-Verhalten und die Fähigkeit eines Systems, ohne zentrale Koordination Schlüssel zu vergeben. Klassischer Auto-Increment liefert kompakte, sortierte Werte, scheitert aber an verteilten Schreibpfaden. Zufällige UUIDs lösen das Koordinationsproblem, zerstören dafür die Einfügereihenfolge im Index. Sortierbare Varianten wie ULID und UUIDv7 versuchen, beide Welten zu verbinden. Dieser Artikel ordnet die drei Ansätze anhand ihrer tatsächlichen Auswirkungen auf Indexstruktur und Betrieb ein, nicht anhand von Bauchgefühl.
-
24.12.2025
Eine Generated Column berechnet ihren Wert automatisch aus anderen Spalten derselben Zeile, ohne Trigger und ohne dass die Anwendung den Wert selbst pflegen muss. Dieser Beitrag zeigt STORED gegen VIRTUAL, praktische Einsatzfälle von abgeleiteten Preisen bis Volltextsuche-Indizes, Migrationen bei bestehenden Tabellen und die wichtigsten Vendor-Unterschiede zwischen MySQL und PostgreSQL.
-
23.12.2025
SQL UNION entfernt Duplikate durch einen impliziten DISTINCT-Schritt – das kostet Zeit. UNION ALL gibt alle Zeilen zurück, ohne zu deduplizieren. Der Unterschied klingt trivial, ist aber in der Praxis performance-entscheidend.
-
18.12.2025
Wenn Requests plotzlich haengen, obwohl die CPU-Auslastung niedrig bleibt, steckt oft Lock Contention dahinter. Mit performance_schema in MySQL und pg_locks in PostgreSQL laesst sich Lock Contention systematisch diagnostizieren, statt bei jedem Vorfall aufs Neue zu raten, welche Session welche andere blockiert.