SQL Performance, Vertec 6.5 und Unicode

    • Offizieller Beitrag

    Vertec 6.5 brachte eine wesentliche Umstellung mit sich, nämlich weg von rein westeuropäischen Zeichensatz (ANSI oder Windows-1252) hin zu Unicode. Damit können in Vertec z.B. auch osteuropäische Adressen korrekt verarbeitet werden. Aber natürlich ist Unicode noch viel universeller, wir unterstützen die gesamte BMP ("Basic Multilingual Plane", siehe https://en.wikipedia.org/wiki/…#Basic_Multilingual_Plane), welche rund 65'000 Zeichen umfasst. Diese Flexibilität ist sehr erfreulich.


    Aber natürlich bringt jede Flexibilität in einer Software auch Nachteile mit sich: im Fall von Unicode sind es der erhöhte Platzbedarf der Datenbank und eine schlechtere Performance von Abfragen mit sich. Im normalen Vertec Betrieb wird das kaum auffallen.


    Bei sehr intensiven SQL-Operationen (wie bei der nicht empfohlenen Anwendung von Leistungssummen) kann das aber durchaus negativ auffallen: in extremen Fällen konnten wir mit Microsoft SQL-Server eine Verschlechterung um Faktor 2 feststellen, bei Firebird sogar um Faktor 3.


    Während wir beim Microsoft SQL-Server kaum Einfluss auf die Entwicklung nehmen können, sieht das bei Firebird anders aus: Vertec ist Mitglied bei der Firebird Foundation, und wir haben diese Verschlechterung mit den Entwicklern diskutiert. Das Problem war altbekannt, wurde aber immer weider auf die lange Bank geschoben, wegen anderer Prioritäten. Durch unsere Intervention haben wir jedoch erreicht, dass Verbesserungen umgesetzt wurden, welche die Performance von solchen Operationen (wieder) in die Nähe des Microsoft SQL-Servers rücken lässt, oder sogar noch besser. Wir konnten diese bereits testen, jedoch wird das erst mit Firebird 5.0 ausgeliefert, welches Ende 2022 erwartet wird.