PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MSSQL schneller als MySQL ?



Andy09
03.03.06, 00:48
Hi,

ich arbeite seit ein paar Jahren sehr zufrieden mit Microsoft Windows 2003
Small Buisness Server. Meine Datenbanken werden alle somit mit den Mircrosoft
SQL Server verwaltet. Nie Probleme. Fast!!! Einziges Manko was mich immer
gestört hat war die Sache mit dem Backup. So leicht wie bei MySQL ist das
bei MSSQL wiederum nicht.

Daher dachte ich mir vorgestern Nacht, ich setz mal den MySQL auf.
Auf www.mysql.de gibt es auch das (meines Erachtens) sehr gute
Migrationstool, um die Datenbanken ganz bequem von einem MSSQL-Server
auf einen MySQL zu kopieren. Das Teil ist richtig klasse, Hut ab!

Also, hatte ich das Szenario, dass es jetzt zwei absolut Identische Daten-
banken gibt. Die Original Datenbank mit MSSQL und die 1:1 kopierte
Datenbank mit MySQL.

So, es gibt natürlich unterschiede zwischen den beiden SQL's. Geht schon
beim Thema Datum los. Während MSSQL damit einverstanden ist das ich
sage "... WHERE Datum='26.01.2006'" muss ich bei MySQL sagen
"... WHERE Datum='2006-01-26'". Okay, damit kann ich leben, wenn man
vorher halbwegs ordentlich Programmiert hat. Auch was LIMIT angeht.
Bei MSSQL heisst es "SELECT TOP 1 ID,Name,Strasse ..." während es bei
MySQL heisst "SELECT ID,Name,Strasse FROM <tabelle> LIMIT 1". Kann
ich auch noch mit leben.

Aber wehe die Abfrage hat Unterabfragen :eek:

Ich hatte hier geschlagene 51 Sekunde bei MySQL gewartet bis er mir
endlich die 30 Datensätze zurückgab, während MSSQL nicht mal 1 Sekunde
brauchte. Und glaubt mir, ich hab die Abfrage mehrfach ausprobiert, also
nicht erst nach dem Neustart oder so.

Jetzt komme ich mal zum eigentlichen Anliegen:
Das kann nicht stimmen, oder?! :confused:
Da gibt es doch bestimmt irgendwelche Performance-Schalter die gesetzt
werden können oder so. Weil, das glaub ich nicht wirklich was ich selbst
gesehen habe :D

Gleich vorweg, ja, die Abfrage ging über ODBC. Aber das kann die 51fache
dauer nicht sein, schließlich gebe ich EINE Anfrage rüber "SELECT bla WHERE
blablabla" und das sind nur ein paar Bytes, und dann rödelt der MySQL...
und rödelt... und rödelt... ODBC-Treiber schaut schon auf die Uhr und
wartet auf die Antwort... MySQL rödelt.... neee, an ODBC kann es nicht
liegen.

Was mache ich aber falsch? :o :ugly:
Hat einer bitte eine Idee? :)

Gruß
Andy

Russel-Athletic
03.03.06, 07:03
ODBC ist doch dieses Microsoftding um andere Programme einzubinden oder?
Wenn ja, dann versuch erstmal möglichst direkt den Befehl einzugeben, dann kann man eine Sache schonmal ausschließen.
Wenn nicht, dann ignoriere den Post.

marce
03.03.06, 07:05
Konfig der DB? Struktur der Abfragen? Datenbank-Design? Indizes korrekt migriert? Welche Versionen? Besondere Features von MS/MY-SQL? Query-Cache? Server-Hardware? ...

Ein paar mehr Infos bräuchten wir schon...

MiGo
03.03.06, 11:25
Vielleicht vversuchst du auch mal, die Abfrage einfach in anderer Form auszuführen (php o.ä.) um einen Einfluss von ODBC auszuschliessen; vielleicht ist da noch was verkonfiguriert ;)