Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
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