Performance / Skalierung - Wieso

Wieso?

Nachfolgendes betrachtet MySQL 5.0.x mit dem Schwerpunkt auf der InnoDB Storage Engine!

Inhaltsverzeichnis - Blättern mit den Cursortasten oder mit Mausklick! (manche Bullets lassen sich anklicken)
[Hilfe siehe unten]

Performance / Skalierung - Definition

Performance != Skalierung

Wie kann ich Performance und Skalierung bewerten?

Nur durch Messen:

besser/verlässlich:

Performance / Skalierung - Tools

Performance / Skalierung - Kriterien

Anwendungskriterien in die Messung einbeziehen

Welches Verhalten wird meine Anwendung später haben?

MySQL Architektur - Überblick

MySQL Architektur - Baukasten

MySQL Architektur - Storage Engine InnoDB /MyISAM

MyISAM

InnoDB

Cache in MySQL

Cache in MySQL - Anwendung/Querycache

Anwendungscache

Query Cache

Cache in MySQL - Storage Engine InnoDB

Storage Engine Cache

InnoDB

Überprüfen wie effizient der InnoDB Storage Cache ist über die Statusvariablen:

Cache in MySQL - Storage Engine MyISAM

Storage Engine Cache

MyISAM

Cache in MySQL - noch mehr Caches

noch mehr Caches

Vorgehensweise DB Schema / Architektur

Normalisierung

Cache & Summary Tables

Vorgehensweisen Datentypen

Vorgehensweisen Index

Index

Vorgehensweisen INDEX - EXPLAIN

Selektivität

Verwendung eines Index durch EXPLAIN prüfen

Mehr zum Thema Explain Plan lesen lernen: http://jpipes.com/presentations/target-practice/target-practice-workbook.pdf

Vorgehensweisen lesend - Grundsätzliches

SELECT Statements

Noch mal der Hinweis: das Nachfolgende gilt für MySQL 5.0.x

Vorgehen bei der Query Optimierung

Abholen des Resultsets [C-Api - in anderen Sprachen ähnlich]

Vorgehensweisen lesend - langsame Queries finden

Wie finde ich die langsamen Queries?

Vorgehensweisen lesend - LIMIT

Limit

Vorgehensweisen lesend - GROUP BY

GROUP BY

Vorgehensweisen lesend - join

Join

Vorgehensweisen lesend - Subselects

Subselects

Vorgehensweisen lesend - Views

Views

vergl: MySQL-view-as-performance-troublemaker

Vorgehensweisen lesend - Union

Union

Vorgehensweisen lesend - Master/Slave

Allgemein Read Ratio /Exkurs Master - Slave

Vorgehensweisen schreibend

Allgemein /Write Ratio

Exkurs MySQL Cluster

Vorgehensweisen schreibend - INSERT-Kosten

Was kostet wieviel beim Schreiben?

Das ungefähre "Gewicht" der einzelnen Aktionen beim Absetzen und Ausführen eines INSERT Statements:

Vorgehensweisen schreibend - INSERT beschleunigen

INSERT

Vorgehensweisen schreibend - UPDATE / Lock Mechanismen

UPDATE

Exkurs Zeilen sperren für exklusive Updates

Gilt für die InnoDb Engine innerhalb von Transaktion.

LOCK IN SHARE MODE

SELECT FOR UPDATE

LOCK TABLE

Vorgehensweisen schreibend - Delete

Delete

Performance Parameter als Indikatoren / Monitoring

Was sollte überwacht werden?

Was sollte noch beachtet werden?

Monitoring

Ausblick MySQL 5.1

Was kann die Beta (Q1???/2008 final)

Ausblick MySQL 6.0 & Falcon

c

Weiter führendes

Fragen & Feedback