Datenbank-Tuning - Slow Queries und MySQL-Performance: Slow Queries und MySQL-Performance
Von Guido Mühlwitz und Stefan Gehrig
()
Über dieses E-Book
Ähnlich wie Datenbank-Tuning - Slow Queries und MySQL-Performance
Titel in dieser Serie (100)
Einstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Executive Briefing Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Technologiegrundlagen Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5JavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Management Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenWebentwicklung mit dem Play Framework Bewertung: 0 von 5 Sternen0 BewertungenBPM: Strategien und Anwendungsfälle Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
IPv6 Grundlagen - Funktionalität - Integration Bewertung: 0 von 5 Sternen0 BewertungenLogging: Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenEmbedded Linux lernen mit dem Raspberry Pi: Linux-Systeme selber bauen und programmieren Bewertung: 0 von 5 Sternen0 BewertungenEinführung in SQL: Daten erzeugen, bearbeiten und abfragen Bewertung: 0 von 5 Sternen0 BewertungenServer-Infrastrukturen mit Microsoft Windows Server Technologien: Alle Themen für das Microsoft Seminar und die Zertifizierungsprüfung MOC 20413 Bewertung: 0 von 5 Sternen0 BewertungenWeb-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Bewertung: 0 von 5 Sternen0 BewertungenSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 13 Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenEinführung in die Programmierung mit Java: Begleitunterlagen zu dem Onlinekurs Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 16 Bewertung: 0 von 5 Sternen0 BewertungenWordPress-Tricks und -Tweaks: Bohren Sie WordPress mit selbst programmierten Funktionen auf! Bewertung: 0 von 5 Sternen0 BewertungenModerne Realzeitsysteme kompakt: Eine Einführung mit Embedded Linux Bewertung: 0 von 5 Sternen0 BewertungenBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Bewertung: 0 von 5 Sternen0 BewertungenDokumentenmanagement mit Microsoft Access: Vollwertiges DMS mit Quellcode und Erläuterungen Bewertung: 0 von 5 Sternen0 BewertungenSQL-Abfragen optimieren: Was Entwickler über Performance wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenZukunftssichere Architektur: So bauen Sie monolithische Anwendungen zu komponentenorientierten um Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenSQL Server: Performanceprobleme analysieren und beheben Bewertung: 0 von 5 Sternen0 BewertungenPowerShell – kurz & gut: Für PowerShell 7 und Windows PowerShell 5 Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5Mehr als Clean Code: Gedanken zur Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenWebseiten-Layout mit CSS: Der perfekte Einstieg in Cascading Style Sheets Bewertung: 0 von 5 Sternen0 BewertungenBig Data, Fast Data Bewertung: 0 von 5 Sternen0 BewertungenC++-Standardbibliothek - kurz & gut Bewertung: 0 von 5 Sternen0 Bewertungen
Datenbanken für Sie
Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenKeine Angst vor Microsoft Access!: Datenbanken verstehen, entwerfen und entwickeln - Für Access 2007 bis 2019 Bewertung: 0 von 5 Sternen0 BewertungenDokumentenmanagement mit Microsoft Access: Vollwertiges DMS mit Quellcode und Erläuterungen Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Blockchain: Praktische Anwendungen, Praktisches Verständnis Bewertung: 0 von 5 Sternen0 BewertungenDatenintensive Anwendungen designen: Konzepte für zuverlässige, skalierbare und wartbare Systeme Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Datenbank-Tuning - Slow Queries und MySQL-Performance
0 Bewertungen0 Rezensionen
Buchvorschau
Datenbank-Tuning - Slow Queries und MySQL-Performance - Guido Mühlwitz
Guido Mühlwitz, Stefan Gehrig
Datenbank-Tuning
Slow Queries und MySQL-Performance
ISBN: 978-3-86802-499-9
© 2013 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 MySQL Queries optimieren
Slow Queries in MySQL finden und beschleunigen
Trotz des Anlegens normalisierter Tabellenstrukturen und des Setzens geeigneter Indizes können in MySQL Queries generiert werden, deren Ausführung einige Sekunden dauert. Bei einem Einsatz im Web sind solche Antwortzeiten nicht akzeptabel und zumeist durch einfaches Umstellen der Abfragen optimierbar – vorausgesetzt man erkennt überhaupt, dass Slow Queries im System vorhanden sind.
Die Geschwindigkeit einer Datenbank ist von vielen Faktoren abhängig. Die Arbeit beginnt hier bereits beim Design der Datenbank, da sowohl Struktur als auch Indizes maßgeblich zur Geschwindigkeit von Queries beitragen. Aber selbst wenn man alles richtig gemacht hat, kann es beim Vorhandensein großer Datenmengen – zum Beispiel bei komplexen Joins, aber auch bei der Nutzung von Foreign Keys (InnoDB) – vorkommen, dass eine Query eine Rechenleistung von einigen Sekunden verschlingt. Hierbei gibt es keine festen Regeln, wann man in eine solche Falle gerät, aber die Optimierungsmöglichkeiten in MySQL sind diesbezüglich schier unendlich.
Anstatt das Übel an der Wurzel zu packen, wird in der Regel mit einem Caching gearbeitet. Dies erfüllt zwar seinen Zweck, funktioniert aber nur so lange man nicht auf Echtzeitdaten angewiesen ist. Der Benutzer wäre zum Beispiel nicht sehr erfreut, wenn Facebook seinen Newsfeed nur einmal pro Stunde aktualisieren würde.
Erschwerend kommt bei Geschwindigkeitseinbußen dieser Art hinzu, dass man sie in der Regel erst Monate nach Inbetriebnahme bemerkt. Nämlich genau dann, wenn aufgrund der Benutzerzahlen die Anzahl der Queries zu groß wird, oder die Datenmenge exponenziell angestiegen ist. Den Fehler wird man in einer lokalen Entwicklungsumgebung mit begrenzten Datensätzen nicht aufspüren, unter Umständen hilft es noch nicht einmal, die Daten zu spiegeln. Stattdessen muss ein genaues Monitoring des Servers über einen längeren Zeitraum erfolgen. MySQL bietet hierfür die notwendigen Werkzeuge.
Was sind Slow Queries und wie entstehen sie?
Die Definition, was eine Slow Query ist, bleibt jedem selbst überlassen. Im Falle von MySQL ist die maximale Ausführungszeit, die erreicht werden muss, damit eine Query als Slow Query gilt, in der Konfigurationsdatei einstellbar. Dies macht auch durchaus Sinn, da je nach Anwendungsfall verschiedene Ausführungszeiten akzeptiert werden können. Im Frontend einer Webanwendung geht es zum Beispiel nur um eine reine Geschwindigkeitsoptimierung, wohingegen man im Backend bei statistischen Auswertungen durchaus längere Laufzeiten akzeptieren kann.
Entsprechend ist eine Slow Query eine Query, deren Ausführungszeit über einer vom Administrator definierten Grenze liegt. Diese Grenze kann sehr eng gefasst sein und wird somit viele Slow Queries oder sehr weit und (wenn überhaupt) nur sehr wenige Ergebnisse liefern. In der Default-Einstellung von MySQL liegt