Freigeben über


Optimierung internationaler Anwendungen

Werden internationale Anwendungen entwickelt, müssen Sie zum Erzielen optimaler Leistung möglicherweise die Sortierfolge der Daten verwalten. Dieser Abschnitt behandelt folgende Themen:

  • Effizienter Einsatz der Sortierfolge.
  • Einsatz von SELECT - SQL mit mehreren Sortierfolgen.

Effizienter Einsatz der Sortierfolge

Da Folgendes gilt, kann die Verwendung der computerspezifischen Sortierfolge zu einer Erhöhung der Leistung beitragen, sofern die Daten keine diakritischen Zeichen wie Akzente (á) oder Umlaute (ü) enthalten:

  • Andere Indizes sind doppelt so groß, da diese diakritische Informationen enthalten.
  • Andere Sortierfolgen benötigen zum Indizieren von Zeichen spezielle Regeln, um korrekte Ergebnisse zu liefern.

Da die Computer-Sortierfolge schneller ist, wird diese üblicherweise für Verknüpfungen und Suchvorgänge verwendet, wogegen zum Sortieren von Datensätzen andere Sortierfolgen eingesetzt werden.

Beim Erstellen von Indizes verwendet Visual FoxPro die aktuelle Einstellung von SET COLLATE. Zum Erstellen zweier Indizes mit zwei Sortierfolgen können Sie somit eine Folge von Anweisungen wie die folgenden verwenden:

SET COLLATE TO "MACHINE"
INDEX ON lastname TAG _lastname     && join/seek index
SET COLLATE TO "GENERAL"
INDEX ON lastname TAG lastname  && sort index

Wenn Sie anhand des lastname-Feldes suchen, auswählen oder verknüpfen möchten, geben Sie vor Ausführung der jeweiligen Operation den Befehl SET COLLATE TO "MACHINE" aus. Rushmore verwendet dann den mit der Computer-Sortierfolge erstellten Index, wodurch sich der Suchvorgang sehr schnell gestaltet.

Einsatz von SELECT - SQL mit mehreren Sortierfolgen

Wird ein Befehl SELECT - SQL abgesetzt, verwendet Visual FoxPro für die Suche und die ORDER BY- und GROUP BY-Klauseln die aktuelle Sortierfolge. Wenn Sie anhand anderer Sortierfolgen suchen oder sortieren möchten, können Sie Ihre SQL-Befehle folgendermaßen in zwei Schritte unterteilen:

* Select records using one collating sequence
SET COLLATE TO "MACHINE"
SELECT * FROM table INTO CURSOR temp1 ;
  WHERE lname = "Müller"
* Order records using a different collating sequence
SET COLLATE TO "GENERAL"
SELECT * FROM temp1 INTO TABLE output ORDER BY lastname

Siehe auch

Optimieren des Zugriffs auf Remotedaten | Optimieren von Anwendungen | Optimieren des Systems | Optimieren von Anwendungen in einer Mehrbenutzerumgebung | Optimierung von ActiveX-Steuerelementen