30.07.2012 Aufrufe

Leistungsoptimierung für die ADOBE FLASH-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />

SQL-Datenbankleistung<br />

Vermeiden Sie SQL-Anweisungen, <strong>die</strong> Indizes nicht nutzen können. Diese Anweisungen umfassen <strong>die</strong> Verwendung<br />

von Aggregatfunktionen in einer Unterabfrage, eine UNION-Anweisung in einer Unterabfrage oder eine ORDER BY-<br />

Klausel in einer UNION-Anweisung.<br />

Ein Index kann <strong>die</strong> Verarbeitung einer SELECT-Abfrage erheblich beschleunigen. Eine bestimmte SQL-Syntax<br />

verhindert jedoch, dass <strong>die</strong> Datenbank Indizes verwendet, und zwingt sie, <strong>die</strong> tatsächlichen Daten <strong>für</strong> Such- oder<br />

Sortieroperationen zu verwenden.<br />

Vermeiden Sie ggf. den LIKE-Operator, besonders mit einem Platzhalterzeichen am Anfang wie in LIKE('%XXXX%').<br />

Da <strong>die</strong> LIKE-Operation <strong>die</strong> Verwendung von Platzhaltersuchen unterstützt, ist <strong>die</strong> Leistung hierbei langsamer als bei<br />

Verwendung von Vergleichen auf genaue Übereinstimmung. Insbesondere dann, wenn Sie den Suchstring mit einem<br />

Platzhalterzeichen beginnen, kann <strong>die</strong> Datenbank <strong>für</strong> <strong>die</strong> Suche überhaupt keine Indizes verwenden. Stattdessen muss<br />

<strong>die</strong> Datenbank den ganzen Text in jeder Tabellenzeile durchsuchen.<br />

Vermeiden Sie eventuell den IN-Operator. Wenn <strong>die</strong> möglichen Werte im Voraus bekannt sind, kann <strong>die</strong> IN-<br />

Operation zur schnelleren Ausführung mit AND oder OR geschrieben werden.<br />

Die zweite der beiden folgenden Anweisungen wird schneller ausgeführt. Dies liegt daran, dass sie einfache<br />

Gleichheitsausdrücke zusammen mit OR verwendet, anstatt <strong>die</strong> IN() oder NOT IN()-Anweisungen zu verwenden:<br />

-- Slower<br />

SELECT lastName, firstName, salary<br />

FROM main.employees<br />

WHERE salary IN (2000, 2500)<br />

-- Faster<br />

SELECT lastName, firstName, salary<br />

FROM main.employees<br />

WHERE salary = 2000<br />

OR salary = 2500<br />

Ziehen Sie alternative Formen einer SQL-Anweisung in Betracht, um <strong>die</strong> Leistung zu verbessern.<br />

Wie in Beispielen weiter oben gezeigt, kann auch <strong>die</strong> Art, wie eine SQL-Anweisung geschrieben ist, Auswirkungen auf<br />

<strong>die</strong> Datenbankleistung haben. Häufig gibt es mehrere Möglichkeiten, mit einer SQL-SELECT-Anweisung einen<br />

bestimmten Ergebnissatz abzurufen. In einigen Fällen ist ein bestimmter Ansatz deutlich schneller als ein anderer.<br />

Neben den vorstehenden Vorschlägen können Sie in dedizierten Ressourcen <strong>für</strong> <strong>die</strong> SQL-Sprache mehr über<br />

verschiedene SQL-Anweisungen und ihre Leistung erfahren.<br />

Leistung von SQL-Anweisungen<br />

Vergleichen Sie alternative SQL-Anweisungen direkt, um festzustellen, welche schneller ist.<br />

Am besten vergleichen Sie <strong>die</strong> Leistung verschiedener Versionen einer SQL-Anweisung, indem Sie sie direkt mit Ihrer<br />

Datenbank und den Daten testen.<br />

Die folgenden Entwicklungstools geben Ausführungszeiten beim Ausführen von SQL-Anweisungen an. Vergleichen<br />

Sie damit <strong>die</strong> Geschwindigkeit alternativer Versionen einer Anwendung:<br />

Run! (AIR SQL-Abfrage- und Authoringtool von Paul Robertson)<br />

Lita (SQLite-Administration-Tool von David Deraedt)<br />

Letzte Aktualisierung 9.5.2012<br />

96

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!