MS SQL ODBC Treiber fehlerhaft?

alles zum Microsoft SQL Server

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

MS SQL ODBC Treiber fehlerhaft?

Beitrag von satmax »

Das will ich Euch nicht vorenthalten, habe es heute Nacht schon aufgegeben, aber am Morgen, nach dem Kaffee... :)

Ein einfach SQL Abfrage (ca. 200000 Datensätze vorhanden, ca. 10 Felder werden abgefragt, Treffer aber nur 5 Datensätze!). Datenbank MS SQL Server (nicht Express)

Code: Alles auswählen

SELCET "felder" FROM "tabelle" WHERE ID = 4711 ORDER BY datum
Dauert in der Management Console (MS SQL Server) 0 Sekunden. Aus XBase via SQLExpress ca. 7-8 Sekunden, obwohl nur 5 Datensätze der Bedingung entsprechen.

Ohne ORDER BY 0 Sekunden:

Code: Alles auswählen

SELCET "felder" FROM "tabelle" WHERE ID = 4711
Wie gesagt, Treffer 5 Datensätze.

Jetzt kommt der Clou: TOP 1000

Code: Alles auswählen

SELCET TOP 1000 "felder" FROM "tabelle" WHERE ID = 4711 ORDER BY datum
Dauert, man glaubt es nicht, 0 Sekunden!

Obwohl nur 5 Datensätze der Bedingung entsprechen "hilft" hier ein TOP 1000. In der Praxis werden es nie mehr als 20-50 werden.

Ansonsten, nach ein paar Tagen SQL: es ist alles anders aber doch noch überschaubar. Dank dem XBase Forum hier komme ich relativ gut voran.

Ich bin überzeugt es ist besser die Zeit in SQL zu investieren anstatt sich in jedem neuen Netzwerk wieder mit irgendwelchen abstrusen REG Settings abzuplagen um schlussendlich vom Sysadmin verjagt zu werden. Dateibasierende Datenbanken sind einfach nicht mehr zeitgemäß.

Gruß
Markus
Gruß
Markus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MS SQL ODBC Treiber fehlerhaft?

Beitrag von georg »

Hallo, Markus -


na, diese Meinung vertrete ich schon lange:
Dateibasierende Datenbanken sind einfach nicht mehr zeitgemäß.
Für den Fall, dass MS-SQL die EXPLAIN Anweisung unterstützt: Versuche in der Konsole mal "EXPLAIN SELECT ..." - zumindest bei MySQL bekommst Du dann eine Analyse, wie die SELECT-Anweisung ausgeführt wird. Daraus kann man oft auch ableiten, ob zusätzliche Index-Dateien etc. erforderlich sind.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: MS SQL ODBC Treiber fehlerhaft?

Beitrag von satmax »

Hallo Georg,

das geht etwas anders unter MS SQL: SET SHOWPLAN_ALL ON|OFF

Aber, das bringt mir in meinem Fall nichts. Wenn ich den Befehl auf der Konsole eingebe habe ich keine Zeitverzögerung...

Aber, der ODBC Treiber kann auch mitloggen. Ich versuche beide Dateien anzuhängen.

Gruß
Markus
Dateianhänge
OHNE TOP 1000 STATS.LOG
SELECT ohne TOP 1000
(621 Bytes) 347-mal heruntergeladen
MIT TOP 1000 STATS.LOG
SELECT mit TOP 1000
(618 Bytes) 349-mal heruntergeladen
Gruß
Markus
Antworten