Re: Indexe beissen sich? (Dau-Frage)
From: Alexander Bierig (dusollstkeine.spam_at_verschicken.de)
Date: 04/20/04
- Next message: Axel Dahmen: "CAST(float AS varchar) in beliebiger Sprache"
- Previous message: Horst Nabulke: "Tabelle formatiert in Textdatei ausgeben"
- In reply to: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Next in thread: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Reply: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 20 Apr 2004 02:13:10 +0200
"Elmar Boye" <ElmarB@gmx.net> schrieb im Newsbeitrag
news:c5tebi$5eoad$1@ID-28695.news.uni-berlin.de...
Guten Morgen Elmar,
> > Dual Xeon: 8.00.0760; Notebook: 8.00.0760;
>
> > SQL-7: 7.00.0623
>
> Das ist die RTM Version, also keine Servicepacks!
und ich war überzeugt, dass ich auch da zuschaute, wie die SQL-Skripts
ausgeführt wurden. Nun denn, dann werde ich das nachholen müssen
> dann fehlt noch http://support.microsoft.com/?kbid=815495
> MS03-031: Cumulative Security Patch for SQL Server
>
> Zusätzlich zu den Sicherheitsfixes sind da einige andere
> Probleme behoben, die nach SP3 aufgetaucht sind.
> Noch einen Schritt weiter geht:
> http://support.microsoft.com/?kbid=821334
>
> Darin sind auch diverse Fixes enthalten, die direkt
> oder indirekt zu Deinem Problem beitragen könnten.
ich habe MS doch dahingehend richtig verstanden, dass der zweite FIX
kumulativ zum ersten genannten ist?
Weil die Beschreibung beim Ersten hat mich doch das kalte Grausen geleert
("Wenn Sie den Fix eingespielt haben,...wird Passwort verlangt. Die MSGBox
können Sie nicht schliessen...spielen Sie den Fix xyz ein)
Somit habe ich den zweiten Patch aufgespielt und bekomme die Version 859 bei
dem Dual Xeon
ich sollte vielleicht darauf hinweisen, dass der SQL-Server auf dem
Dual-Xeon ein englischer Enterprise SQL-Server ist.
> >>> sslrs.Open "select * from ssl_pfteam order by pfteam_nr, ssl_nr",
> >>> sslconn, , , adAsyncFetch
> >>
>
> ich hoffe, Du bist mittlerweile ausgeschlafen ;-))
>
> > wieso vertragen die Kursorform und -Lokation sich nicht.?
>
> adUseClient heisst immer auch adOpenStatic.
Wo Du es sagst - ich habe das mal gelesen und (leider) vergessen
>
> > Was stört an "*" im select from...?
>
> "*" heisst immer alle Spalten, und selbst wenn Du alle Spalten
> der heutigen Tabellenstruktur ansprechen solltest, ist es guter
> Stil die Spaltenliste anzugeben.
Ok, das ist ein Argument - das mit der Umsetzung wird das Problem sein.(mein
kleines persönliches)
> So nebenbei gehört da auch eine WHERE Klausel hin, wenns
> mehr als nur Testcode ist. Kein Benutzer schaut sich (nur)
> 7500 Datenzeilen an.
auch wenn Du es nicht glaubst - wir tun es.
>
> BTW: ADO kennt auch eine Sort Eigenschaft. Und wenn Du
> ohnehin alles runterlädst, kannst Du auch lokal sortieren.
Schon, aber wieso das nicht den schnellen Server machen lassen - aber ist
nicht das Problem.
> Da eine für vollständige Anleitung hier kein Raum ist:
> Mache es mal lieber andersrum: Verwende weniger und lasse mal
> den Indexoptimierungsassistenten über die von Dir gewählten
> Abfragen laufen.
>
der bot ja bei der o.a. Abfrage die Felder Pfteam_nr,ssl_nr als Index
gruppiert an.
> Irgendwie drängt sich mir der Verdacht auf, die Tabelle hat
> einen Schuss.
> Hast Du mal DBCC CHECKTABLE respektive DBCC CHECKDB ausgeführt?
checktable ssl_pfteam: Keine Fehler
checkdb with option PHYSICAL_ONLY: Keine Fehler
checkdb Repair_Rebuild ohne Optionen: Kein Fehler
> > Die Auswirkung von MAXOP kann ich Dir morgen abend mitteilen.
Mit und ohne MAXDOP(1) gibts bei obiger Abfrage mit und ohne Indexe keine
Paralelle Abfragen.
> Evtl. poste auch mal den Abfrageplan. Kommt da überhaupt ein
> "Parallelism" Hinweis drin vor.
Nachdem ich den Index des Optimieres benutzt habe gabs folgenden Plan:
clustered Index Scan(Objec:([GuK
Kostenanalyse].[dbo].[ssl:pfteam].[ssl_pfteam1]),ordered forward)
dabei ist ssl_pfteam1 der erstelle Index.
Dafür konnte anschliessend das Gegenstück zu dieser o.a. Abfrage NICHT mehr
schreiben!
Also habe ich alle Indexe entsorgt.
Obige Abfrage liest und liest und das Gegenstück:
Set sslrs = sslconn.Execute("delete from ssl_pfteam_backup", ,
adCmdText)
Set sslrs = sslconn.Execute("insert into ssl_pfteam_backup select *
from ssl_pfteam", , adCmdText)
Set sslrs = sslconn.Execute("delete from ssl_pfteam", , adCmdText)
Set rspfssl = mdbpfssl.OpenRecordset("ssl_pfteam")
sslrs.CursorLocation = adUseClient
sslrs.CursorType = adOpenStatic
sslrs.LockType = adLockBatchOptimistic
sslrs.Open "select * from ssl_pfteam where 1=2", sslconn, , ,
adAsyncFetchNonBlocking
With rspfssl
MoveFirst
While Not .EOF
sslrs.AddNew
For Y = 0 To .Fields.Count - 1
sslrs.Fields(Y) = .Fields(Y)
Next
If Not .EOF Then .MoveNext
Wend
End With
sslrs.UpdateBatch
sslrs.Close
Set sslrs = Nothing
kann auch Schreiben.
folgender Beispiel-Code verursacht: Merge/Join Paralelismus Index Scan
und bei Option Maxdop(1) nur: Merge Index Scan
insert into sa_aktuellefins (fahrgestellnr,sa_art,sa_code)
select k.fahrgestellnr as KnownFin,'S' as saart,'NIX' as codeid from
known_fins as k
left join sa_aktuellefins as saf on saf.fahrgestellnr=k.fahrgestellnr
where saf.fahrgestellnr is null
Vielen Dank für Deine Mühen.
Mein Problem ist, dass ich auf den Netzwerk dieser Firma keinen NEWs-zugang,
wie überhaupt keiner dort, erhalte wegen Sicherheitsgedanken.
Damit muss ich Deine Frage erst hin- und das Ergebnis zurücktransportieren.
Viele Grüsse aus dem Kalten Süden
Alex.
-- Wegen der Berge von Spam: die Emailadresse lautet alexander.at.taxi.minus.stuttgart.dot.de
- Next message: Axel Dahmen: "CAST(float AS varchar) in beliebiger Sprache"
- Previous message: Horst Nabulke: "Tabelle formatiert in Textdatei ausgeben"
- In reply to: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Next in thread: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Reply: Elmar Boye: "Re: Indexe beissen sich? (Dau-Frage)"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|