PythonQ 240-8XX Bedienungsanleitung Seite 468

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 768
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 467
Kapitel 7: MySQL-Sprachreferenz 447
Wenn Sie das Wort QUICK angeben, fasst der Tabellen-Handler ahrend des oschvorgangs
keine Index-Bl¨atter (Index Leafs) zusammen, was bestimmte Arten von oschvorg¨angen
beschleunigen kann.
In MyISAM-Tabellen werden gel¨oschte Datens¨atze in einer verkn¨upften Liste verwaltet
und nachfolgende INSERT-Operationen benutzen alte Datensatzpositionen neu. Um un-
benutzten Platz freizugeben und Dateigr¨oßen zu verringern, benutzen Sie das OPTIMIZE
TABLE-Statement oder das myisamchk-Dienstprogramm, um die Tabellen neu zu organ-
isieren. OPTIMIZE TABLE ist einfacher, aber myisamchk ist schneller. Siehe Abschnitt 5.5.1
[OPTIMIZE TABLE], Seite 240 und Abschnitt 5.4.6.10 [Optimisation], Seite 233.
Das Multi-Tabellen-L¨oschformat wird ab MySQL 4.0.0 unterst¨utzt.
Die Idee ist, dass nur ¨ubereinstimmende Zeilen aus den Tabellen, die VOR der FROM-Klausel
stehen, gel¨oscht werden. Die Auswirkung ist, dass Sie Zeilen aus vielen Tabellen zugleich
oschen onnen, sowie dass zus¨atzliche Tabellen zum Suchen benutzt werden.
Das .*-Zeichen nach den Tabellennamen ist nur aus Gr¨unden der Kompatibilit¨at mit Access
vorhanden:
DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
In diesem Fall werden ¨ubereinstimmende Zeilen nur aus den Tabellen t1 und t2 gel¨oscht.
ORDER BY und Benutzung mehrfacher Tabellen bei DELETE wird in MySQL 4.0 unterst¨utzt.
Wenn eine ORDER BY-Klausel benutzt wird, werden die Zeilen in dieser Reihenfolge gel¨oscht.
Das ist nur in Verbindung mit LIMIT wirklich sinnvoll. Beispiel:
DELETE FROM logdatei
WHERE user = ’jcole’
ORDER BY zeitstempel
LIMIT 1
Das oscht den ¨altesten Eintrag (von zeitstempel), wo die Zeile mit der WHERE-Klausel
¨ubereinstimmt.
Die MySQL-spezifische LIMIT rows-Option f¨ur DELETE weist den Server an, welche maxi-
male Anzahl von Zeilen gel¨oscht wird, bevor die Kontrolle an den Client zur¨uck gegeben
wird. Das kann benutzt werden um sicherzustellen, dass ein bestimmter DELETE-Befehl
nicht zu viel Zeit beansprucht. Sie onnen den DELETE-Befehl einfach wiederholen, bis die
Anzahl betroffener Zeilen kleiner ist als der LIMIT-Wert.
7.4.7 TRUNCATE-Syntax
TRUNCATE TABLE tabelle
In Version 3.23 wird TRUNCATE TABLE auf COMMIT ; DELETE FROM tabelle gemappt. Siehe
Abschnitt 7.4.6 [DELETE], Seite 446.
Die Unterschiede zwischen TRUNCATE TABLE und DELETE FROM .. sind:
TRUNCATE f¨uhrt ein oschen und Neuerzeugen der Tabelle durch, was viel schneller
sit, als Zeilen eine nach der anderen zu oschen.
Nicht transaktionssicher. Sie erhalten einen Fehler, wenn Sie eine aktive Transaktion
haben oder eine aktive Tabellensperre.
Gibt die Anzahl gel¨oschter Zeilen nicht zur¨uck.
Seitenansicht 467
1 2 ... 463 464 465 466 467 468 469 470 471 472 473 ... 767 768

Kommentare zu diesen Handbüchern

Keine Kommentare