PythonQ 240-8XX Manual de usuario Pagina 375

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 374
354 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Wenn Sie eine Tabelle mit dem HANDLER tabelle OPEN-Statement ¨offnen, wird dem Thread
ein dediziertes Tabellenobjekt zugewiesen. Diese Tabellenobjekt wird nicht mit anderen
Threads geteilt und wird solange nicht geschlossen, bis der Thread HANDLER tabelle CLOSE
aufruft oder stirbt. Siehe Abschnitt 7.4.3 [INSERT], Seite 442.
Sie onnen pr¨ufen, ob Ihr Tabellen-Cache zu klein ist, indem Sie die mysqld-Variable
opened_tables ansehen. Wenn diese recht Groß ist, selbst wenn Sie nicht viele
FLUSH TABLES ausgef¨uhrt haben, sollten Sie Ihren Tabellen-Cache vergr¨oßern. Siehe
Abschnitt 5.5.5.3 [SHOW STATUS], Seite 245.
6.4.7 Nachteile der Erzeugung großer Mengen von Tabellen in
derselben Datenbank
Wenn Sie viele Dateien in einem Verzeichnis haben, werden open-, close- und create-
Operationen langsam. Wenn Sie ein SELECT-Statements auf viele unterschiedliche Tabellen
ausf¨uhren, gibt es ein bisschen Overhead, wenn der Tabellen-Cache voll ist, weil f¨ur jede
Tabelle, die ge¨offnet wird, eine andere geschlossen werden muss. Sie onnen diese Overhead
verringern, indem Sie den Tabellen-Cache gr¨oßer machen.
6.4.8 Warum gibt es so viele offene Tabellen?
Wenn Sie mysqladmin status ausf ¨uhren, werden Sie etwa folgendes sehen:
Uptime: 426 Running Threads: 1 Questions: 11082 Reloads: 1 Open Tables: 12
Das kann etwas verwirrend sein, wenn Sie nur 6 Tabellen haben.
MySQL ist multi-threaded, daher kann er viele Anfragen auf dieselbe Tabelle simultan
verarbeiten. Um das Problem zu minimieren, dass zwei Threads verschiedene Zust¨ande
in Bezug auf dieselbe Datei haben, wird die Tabelle unabh¨angig f¨ur jeden gleichzeitigen
Thread ge¨offnet. Das ben¨otigt etwas Arbeitsspeicher und einen externen Datei-Deskriptor
f¨ur die Daten-Datei. Der Index-Datei-Deskriptor wird mit allen Threads geteilt.
6.5 Optimierung des MySQL-Servers
6.5.1 System / Kompilierzeitpunkt und Tuning der
Startparameter
Wir fangen mit den Dingen auf Systemebene an, weil einige dieser Entscheidungen sehr fr¨uh
getroffen werden m¨ussen. In anderen allen mag ein kurzer Blick auf diesen Teil ausreichen,
weil er nicht so wichtig f¨ur große Verbesserungen ist. Es ist jedoch immer nett, ein Gef¨uhl
daf¨ur zu bekommen, wie viel man gewinnen kann, wenn man Dinge auf dieser Ebene ¨andert.
Es ist wirklich wichtig, dass vorgabem¨aßige Betriebssystem zu kennen! Um das meiste
aus Mehrprozessor-Maschinen herauszuholen, sollte man Solaris benutzen (weil die
Threads wirklich gut funktionieren) oder Linux (weil der 2.2-Kernel wirklich gute
Mehrprozessor-Unterst¨utzung bietet). Linux hat auf 32-Bit-Maschinen vorgabem¨aßig
eine Dateigr¨oßenbeschr¨ankung von 2 GB. Das wird hoffentlich bald behoben, wenn neue
Dateisysteme herausgebracht werden (XFS/Reiserfs). Wenn Sie dringen Unterst¨utzung f ¨ur
Vista de pagina 374
1 2 ... 370 371 372 373 374 375 376 377 378 379 380 ... 767 768

Comentarios a estos manuales

Sin comentarios