ix
6.2.10 Geschwindigkeit von DELETE-Anfragen . . . . . . . . 341
6.2.11 Weitere Optimierungstipps . . . . . . . . . . . . . . . . . . . 342
6.3 Sperren (Locking) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
6.3.1 Wie MySQL Tabellen sperrt. . . . . . . . . . . . . . . . . . . 345
6.3.2 Themen, die Tabellensperren betreffen . . . . . . . . . 346
6.4 Optimierung der Datenbank-Struktur . . . . . . . . . . . . . . . . . . . 347
6.4.1 MySQL-Datenbank-Design-
¨
Uberlegungen . . . . . . . 347
6.4.2 Wie Sie Ihre Daten so klein wie m¨oglich bekommen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
6.4.3 Wie MySQL Indexe benutzt . . . . . . . . . . . . . . . . . . . 349
6.4.4 Spalten-Indexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
6.4.5 Mehrspaltige Indexe . . . . . . . . . . . . . . . . . . . . . . . . . . 352
6.4.6 Wie MySQL Tabellen ¨offnet und schließt . . . . . . . 353
6.4.7 Nachteile der Erzeugung großer Mengen von Tabellen
in derselben Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . 354
6.4.8 Warum gibt es so viele offene Tabellen? . . . . . . . . 354
6.5 Optimierung des MySQL-Servers . . . . . . . . . . . . . . . . . . . . . . . 354
6.5.1 System / Kompilierzeitpunkt und Tuning der
Startparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
6.5.2 Serverparameter tunen . . . . . . . . . . . . . . . . . . . . . . . . 355
6.5.3 Wie Kompilieren und Linken die Geschwindigkeit
von MySQL beeinflusst. . . . . . . . . . . . . . . . . . . . . . . . . . 357
6.5.4 Wie MySQL Speicher benutzt . . . . . . . . . . . . . . . . . 359
6.5.5 Wie MySQL DNS benutzt. . . . . . . . . . . . . . . . . . . . . 360
6.5.6 SET-Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
6.6 Festplatte, Anmerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
6.6.1 Symbolische Links benutzen . . . . . . . . . . . . . . . . . . . 365
6.6.1.1 Benutzung symbolischer Links f¨ur
Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
6.6.1.2 Benutzung symbolischer Links f¨ur Tabellen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
7 MySQL-Sprachreferenz . . . . . . . . . . . . . . . . . . 368
7.1 Sprachstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
7.1.1 Literale: Wie Zeichenketten und Zahlen geschrieben
werden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
7.1.1.1 Zeichenketten. . . . . . . . . . . . . . . . . . . . . . . . 368
7.1.1.2 Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
7.1.1.3 Hexadezimale Werte. . . . . . . . . . . . . . . . . . 370
7.1.1.4 NULL-Werte . . . . . . . . . . . . . . . . . . . . . . . . . . 370
7.1.2 Datenbank-, Tabellen-, Index-, Spalten- und
Alias-Namen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
7.1.3 Groß-/Kleinschreibung in Namen . . . . . . . . . . . . . . 372
7.1.4 Benutzer-Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
7.1.5 Kommentar-Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . .
373
7.1.6 Ist MySQL pingelig hinsichtlich reservierter W¨orter?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
7.2 Spaltentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Comentarios a estos manuales