Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />
SQL-Datenbankleistung<br />
SELECT employeeId<br />
FROM main.employees<br />
Wenn Sie den Datenbanknamen angeben, muss <strong>die</strong> Laufzeitumgebung nicht in allen verbundenen Datenbanken nach<br />
der richtigen Tabelle suchen. So verhindern Sie außerdem, dass <strong>die</strong> Laufzeitumgebung <strong>die</strong> falsche Datenbank wählt.<br />
Halten Sie sich auch dann an <strong>die</strong>se Regel, wenn eine SQLConnection-Instanz nur mit einer einzelnen Datenbank<br />
verbunden ist. Die SQLConnection-Instanz ist im Hintergrund auch mit einer temporären Datenbank verbunden, auf<br />
<strong>die</strong> mit SQL-Anweisungen zugegriffen werden kann.<br />
Verwenden Sie explizite Spaltennamen in den SQL-Anweisungen INSERT und SELECT.<br />
Das folgende Beispiel veranschaulicht <strong>die</strong> Verwendung expliziter Spaltennamen:<br />
INSERT INTO main.employees (firstName, lastName, salary)<br />
VALUES ("Bob", "Jones", 2000)<br />
SELECT employeeId, lastName, firstName, salary<br />
FROM main.employees<br />
Vergleichen Sie <strong>die</strong> vorstehenden Beispiele mit den folgenden. Vermeiden Sie <strong>die</strong>sen Codestil:<br />
-- bad because column names aren't specified<br />
INSERT INTO main.employees<br />
VALUES ("Bob", "Jones", 2000)<br />
-- bad because it uses a wildcard<br />
SELECT *<br />
FROM main.employees<br />
Ohne <strong>die</strong> Angabe expliziter Spaltennamen muss <strong>die</strong> Laufzeitumgebung zusätzliche Arbeit leisten, um <strong>die</strong><br />
Spaltennamen herauszufinden. Wenn eine SELECT-Anweisung ein Platzhalterzeichen anstelle von expliziten Spalten<br />
verwendet, ruft <strong>die</strong> Laufzeit zusätzliche Daten ab. Die zusätzlichen Daten erfordern zusätzliche Verarbeitung und<br />
erstellen zusätzliche Objektinstanzen, <strong>die</strong> nicht benötigt werden.<br />
Vermeiden Sie, <strong>die</strong>selbe Tabelle mehrmals in einer Anweisung zu verwenden, falls Sie <strong>die</strong> Tabelle nicht mit sich selbst<br />
vergleichen.<br />
Wenn SQL-Anweisungen groß werden, kann es passieren, dass Sie eine Datenbanktabelle versehentlich mehrmals mit<br />
der Abfrage verbinden. Häufig lässt sich dasselbe Ergebnis erzielen, indem <strong>die</strong> Tabelle nur einmal verwendet wird. Das<br />
mehrmalige Verbinden einer Tabelle tritt wahrscheinlich dann auf, wenn Sie eine oder mehrere Ansichten in einer<br />
Abfrage verwenden. Dies ist beispielsweise der Fall, wenn Sie nicht nur eine Tabelle mit der Abfrage verbinden,<br />
sondern auch eine Ansicht, <strong>die</strong> Daten aus <strong>die</strong>ser Tabelle enthält. Durch <strong>die</strong>se beiden Vorgänge entsteht mehr als eine<br />
Verbindung.<br />
Effiziente SQL-Syntax<br />
Verwenden Sie JOIN (in der FROM-Klausel), um eine Tabelle in eine Abfrage einzubeziehen, anstatt einer<br />
Unterabfrage in der WHERE-Klausel. Dieser Tipp gilt auch, wenn Sie <strong>die</strong> Daten einer Tabelle nur zum Filtern, nicht<br />
<strong>für</strong> den Ergebnissatz benötigen.<br />
Das Verbinden mehrerer Tabellen in der FROM-Klausel bringt eine bessere Leistung als <strong>die</strong> Verwendung einer<br />
Unterabfrage in einer WHERE-Klausel.<br />
Letzte Aktualisierung 9.5.2012<br />
95