Seltsames Verhalten MySQL

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Seltsames Verhalten MySQL

Beitrag von Lemmy »

Servus,

ich habe hier eine Anwendung, die einen Haufen Daten importiert (mySQL 5.1). Ich hatte immer das Problem, dass bei mir die Anwendung Faktor 5-10 langsamer lief als auf dem Produktivsystem. Nie konnte mir einer erklären was ich falsch mache. Letzte Woche habe ich beim Anlegen einer neuen TestDB einen "Fehler" gemacht und UTF8-Unicode anstelle Latin-1 mit German verwendet. Und siehe da: Der Import lief so schnell ab, wie er eigentlich sollte. Auch die Gegenprobe war erfolgreich: mit Latin1 langsam mit utf8 schnell.

Hängt auch nicht an Lazarus, Datenbankkomponenten oder Connectionstring (verschiedenes versucht bzw,. lange Historie). Im Netz konnte ich mit meinen Suchbegriffen bisher nichts erhellendes finden. Hat hier vielleicht jemand eine Idee woher dieses Verhalten kommen kann? Codiert MySQL intern die Daten um, wenn die mit latin1 daher kommen?

Grüße

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Seltsames Verhalten MySQL

Beitrag von MacWomble »

Keine Ahnung, verwende ausschließlich UTF8 und kenne auch niemanden, der was anderes verwendet.
Wozu benötigst du Latin-1, ich dachte das ist noch aus DOS-Zeiten ?
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Seltsames Verhalten MySQL

Beitrag von Lemmy »

MacWomble hat geschrieben:Wozu benötigst du Latin-1, ich dachte das ist noch aus DOS-Zeiten ?


Gute Frage: Die Projektübergabe war etwas schwierig. Wenn dann habe ich das so übernommen bzw. ist mir angetragen worden.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Seltsames Verhalten MySQL

Beitrag von af0815 »

ZEOS oder SQLdb ?

Bei ZEOS habe ich in den Sourcen gesehen, das es scheinbar im Hintergrund die verschiedenen Systeme konvertiert. Das könnte Zeit benötigen wenn Einstellung Client <> Server. Bei SQLdb wäre ich noch nicht darüber gestolpert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Seltsames Verhalten MySQL

Beitrag von Lemmy »

af0815 hat geschrieben:ZEOS oder SQLdb ?


weder noch. Als ich das Projekt übernahm war das in Delphi 7 mit ADO und ODBC, dann Umstellung auf XE6 mit MyDAC und jetzt Lazarus mit MaDac. Von ODBC auf MyDAC war es rund 25% schneller, aber immer noch bei mir deutlich langsamer als auf den Produktivsystemen. d.h. hing weder an der Sprache noch an den Komponenten...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Seltsames Verhalten MySQL

Beitrag von af0815 »

Keine Erfahrung mit MyDac bei mir.

Umstellung von ODBC auf MyDac, kann ich mir vorstellen, das es schneller ging. ODBC ist so ziemlich das generischte (und langsamste) was man nehmen kann :-) Reines ADO war nicht so langsam, damit habe ich doch einige Jahre unter Delphi 7 gearbeitet.

Normalerweise kodiert die lokale Treiberschicht um, damit das DB-System die Daten im richtigen Format bekommt. Das könntest du aber in den Sourcen verfolgen. Bei Lazarus musst du ja mit Sourcen von MyDac arbeiten (Zumindest laut Herstellerwebsite). Das ein konvertieren Zeit braucht ist klar. Die Frage ist auch, was ist die native Kodierung der MySQL-DB und der angelegten DB - UTF8 ?

DEFAULT CHARACTER SET = ?
DEFAULT COLLATE = ?
Charset Verbindung = ?

Passen die zusammen ? Siehe auch http://download.nust.na/pub6/mysql/doc/ ... ction.html
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Seltsames Verhalten MySQL

Beitrag von Lemmy »

af0815 hat geschrieben:Passen die zusammen ? Siehe auch http://download.nust.na/pub6/mysql/doc/ ... ction.html


Da ich von Firebird komme, habe ich da peinlich drauf geachtet - musste aber irgend wann feststellen, dass das scheinbar völlig wurscht ist.
Inzwischen habe ich rausgefunden, dass auf dem Produktivsystem utf8 mit utf8_unicode verwendet wird.
Ich schließe hier einfach mal, froh darüber, dass es bei mir jetzt auch schnell genug läuft :-)

Antworten