PythonQ 240-8XX Manual de usuario Pagina 458

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 457
Kapitel 7: MySQL-Sprachreferenz 437
Wenn Sie GROUP BY benutzen, werden die Ausgabe-Zeilen gem¨ dem GROUP BY sortiert,
als atten Sie ein ORDER BY f¨ur alle Felder im GROUP BY angegeben. MySQL hat GROUP
BY erweitert, so dass Sie daf¨ur auch ASC und DESC angeben onnen:
SELECT a,COUNT(b) FROM tabelle GROUP BY a DESC
MySQL hat die Benutzung von GROUP BY erweitert, um es Ihnen zu gestatten, auch
Felder auszuw¨ahlen, die nicht in der GROUP BY-Klausel erw¨ahnt wurden. Wenn Sie
nicht die Ergebnisse erhalten, die Sie von Ihrer Anfrage erwarten, lesen Sie bitte die
GROUP BY-Beschreibung.
SQL_BUFFER_RESULT erzwingt, dass das Ergebnis in eine tempor¨are Tabelle geschrieben
wird. Das hilft MySQL, fr¨uhzeitig Tabellensperren aufzuheben, und hilft in allen, in
denen es lange dauert, das Ergebnis an den Client zu senden.
SQL_SMALL_RESULT, eine MySQL-spezifische Option, kann bei GROUP BY oder DISTINCT
benutzt werden, um dem Optimierer mitzuteilen, dass der Ergebnissatz klein sein wird.
In diesem Fall benutzt MySQL schnelle tempor¨are Tabellen, um die Ergebnistabelle zu
speichern, anstatt Sortieren zu benutzen. In MySQL-Version 3.23 sollte das normaler-
weise nicht ben¨otigt werden.
STRAIGHT_JOIN zwingt den Optimierer, Tabellen in der Reihenfolge zu verkn¨upfen,
in der sie in der FROM-Klausel aufgelistet sind. Sie onnen das benutzen, um die
Geschwindigkeit einer Anfrage zu erh¨ohen, wenn der Optimierer Tabellen in nicht op-
timaler Reihenfolge verkn¨upft. Siehe Abschnitt 6.2.1 [EXPLAIN], Seite 329.
Die LIMIT-Klausel wird benutzt, um die Anzahl von Zeilen, die vom SELECT-Statement
zur¨uckgegeb en werden, zu beschr¨anken. LIMIT erwartet ein oder zwei numerische Ar-
gumente.
Wenn zwei Argumente angegeben sind, legt das erste den Offset der ersten Zeile fest,
die zur¨uckgegeben wird, und das zweite gibt die maximale Anzahl von Zeilen an, die
zur¨uckgegeb en werden. Der Offset der anf¨anglichen Zeile ist 0 (nicht 1):
mysql> select * from tabelle LIMIT 5,10; # Zeilen 6 bis 15 zur¨uckgeben
Wenn ein Argument angegeben wird, stellt es die maximale Anzahl von Zeilen dar, die
zur¨uckgegeb en werden:
mysql> select * from tabelle LIMIT 5; # Die ersten 5 Zeilen zur¨uckgeben
Mit anderen Worten ist LIMIT n ¨aquivalent zu LIMIT 0,n.
Die SELECT ... INTO OUTFILE ’datei’-Form von SELECT schreibt die ausgew¨ahlten
Zeilen in eine Datei. Die Datei wird auf dem Server-Host erzeugt und darf nicht bere-
its bestehen (das verhindert unter anderem, dass Datenbanktabellen und Dateien wie
/etc/passwd zerst¨ort werden). Sie ben¨otigen die file-Berechtigung auf dem Server-
Host, um diese Form von SELECT auszuf¨uhren.
SELECT ... INTO OUTFILE ist haupts¨achlich daf¨ur vorgesehen, um eine Tabelle auf der
Server-Maschine schnell zu dumpen. Wenn Sie die resultierende Datei auf einem an-
deren Host als dem Server-Host haben wollen, onnen Sie SELECT ... INTO OUTFILE
nicht benutzen. In diesem Fall sollten Sie statt dessen ein Client-Programm wie
mysqldump --tab oder mysql -e "SELECT ..." > outfile benutzen, um die Datei zu
erzeugen.
SELECT ... INTO OUTFILE ist das Komplement von LOAD DATA INFILE; die Syntax f¨ur
den export_optionen-Teil des Statements besteht aus denselben FIELDS- und LINES-
Vista de pagina 457
1 2 ... 453 454 455 456 457 458 459 460 461 462 463 ... 767 768

Comentarios a estos manuales

Sin comentarios