Re: Sql-Server-Performance



Hi,

> Was macht Dein OE da immer mit dem restlichen Text?
> Schau bitte mal bei http://www.oe-faq.de/ vorbei bezüglich
> besserer Einstellungen für den Newsreader.
> Das Umformatieren ist auf Dauer doch etwas zeitaufwändig.
danke für den Tipp, hab meinen Newsreader umgestellt, ich hoffe es funktioniert jetzt besser.

> Überprüfe bitte noch mal mit DBCC SHOWCONTIG die Fragmentierung
> der Tabellen (speziell auch SCHREIBEN, SCHREIBENBETROFFENE) und
> die Verteilung der Statistiken DBCC SHOW_STATISTICS.
> Ist der eine Server da deutlich anders als die anderen?
Gute Idee mit der Fragmentierung - danke für den Tipp - werde schauen, was an diesem einen Server anders ist.


> Bitte übe Dich mal im Lesen der Ausführungspläne, damit Du das
> nachvollziehen kannst. Mir scheint, da machst Du einen grossen
> Bogen rum.
ja, mit dem Lesen von Ausführungsplänen kenn ich mich noch nicht so gut aus. Hast du da vielleicht einen Tipp oder Link, wo man mehr
drüber erfahren kann?

lg
Peter


"Elmar Boye" <ElmarB@xxxxxxx> schrieb im Newsbeitrag news:3eggsrF30ahaU3@xxxxxxxxxxxxxxxxx
> Hallo Peter,
>
> Was macht Dein OE da immer mit dem restlichen Text?
> Schau bitte mal bei http://www.oe-faq.de/ vorbei bezüglich
> besserer Einstellungen für den Newsreader.
> Das Umformatieren ist auf Dauer doch etwas zeitaufwändig.
>
> Peter Piry <peter.piry@xxxxxxxxx> schrieb ...
> > sorry, die späte Antwort, konnte das gestern nicht ausprobieren.
> > Hat leider auch kein Ergebnis gebracht.
> >
>
> Überprüfe bitte noch mal mit DBCC SHOWCONTIG die Fragmentierung
> der Tabellen (speziell auch SCHREIBEN, SCHREIBENBETROFFENE) und
> die Verteilung der Statistiken DBCC SHOW_STATISTICS.
> Ist der eine Server da deutlich anders als die anderen?
>
> > wir haben das Problem jetzt gelöst, indem wir die Query
> > folgendermassen umgebaut haben:
>
>
> > SELECT ISNULL(count(*),0)
> > FROM ANTRAEGE, ARBEITSVERHAELTNISSE
> > WHERE ANTRAEGE.ANTRAGSSTATUS_ID=1
> > AND ANTRAEGE.ARBEITSVERHAELTNIS_ID = ARBEITSVERHAELTNISSE.ARBEITSVERHAELTNIS_ID
> > AND ANTRAEGE.GEST_ID_ARBEITSVERHAELTNIS = ARBEITSVERHAELTNISSE.GESCHAEFTSSTELLEN_ID
> > AND(ISNULL(ANTRAEGE.anzahl_bescheide, 0) > 0
> > OR CONVERT(VARCHAR, antraege.antrag_id)
> > + '_'
> > + CONVERT(VARCHAR,antraege.geschaeftsstellen_id)
> > IN (SELECT CONVERT(VARCHAR, schreiben.antrag_id)
> > + '_'
> > + CONVERT(VARCHAR,schreiben.gest_id_antrag)
> > FROM SCHREIBEN, SCHREIBENBETROFFENE
> > WHERE SCHREIBENBETROFFENE.ANTRAG_ID=ANTRAEGE.ANTRAG_ID
> > AND SCHREIBENBETROFFENE.GEST_ID_ANTRAG = ANTRAEGE.GESCHAEFTSSTELLEN_ID
> > AND SCHREIBENBETROFFENE.SCHREIBEN_ID = SCHREIBEN.SCHREIBEN_ID
> > AND SCHREIBENBETROFFENE.GEST_ID_SCHREIBEN = SCHREIBEN.GESCHAEFTSSTELLEN_ID
> > AND SCHREIBEN.SCHREIBENTYP_ID IN (4, 31, 43) ))
> > AND ARBEITSVERHAELTNISSE.INSOLVENZ_ID = 2107
> > AND ARBEITSVERHAELTNISSE.GEST_ID_INSOLVENZ = 1
> >GO
> >
> > Also statt der OR-Bedingung verwenden wir eine IN-Bedingung.
> > Diese funktioniert jetzt innerhalb von 1-2 Sekunden.
> > Ist mir trotzdem unverständlich, das die Abfrage mit OR nur auf einem
> > Server von 9 so lang braucht.
>
> Das dürfte weniger am OR liegen sondern eher daran, dass der Optimierer
> durch die zusammengesetzten und nach VARCHAR konvertierten Werte
> "erfolgreich" davon abgehalten wird, Indizes bzw. auf einen Hash
> verzichtet zu nutzen. Das kann sich aber schnell als klassischer
> Pyrussieg rausstellen, wenn die Parameter sich ändern.
>
> Bitte übe Dich mal im Lesen der Ausführungspläne, damit Du das
> nachvollziehen kannst. Mir scheint, da machst Du einen grossen
> Bogen rum.
>
> Im übrigen solltest Du etwas sauberer Casten, also in etwa
> für ein Integer:
> CAST(antraege.antrag_id AS VARCHAR(10))
> + '_'
> + CAST(schreiben.gest_id_antrag AS VARCHAR(10))
> oder (für CONVERT Liebhaber):
> CONVERT(VARCHAR(10), antraege.antrag_id)
> + '_'
> + CAST(VARCHAR(10), schreiben.gest_id_antrag)
>
> Alternativ ginge auch CHAR(10) ohne "_".
> Aber genug davon, denn besser ist wie oben geschrieben, dass solche
> (Blech oder Platin) Krücken erst gar nicht eingesetzt werden müssen.
>
> Gruss
> Elmar
>

.



Relevant Pages

  • Re: xnews error "bits index out of range"
    ... server to use 64 bit article numbers and now the boneless group ... all the servers on Usenet are going to migrate to 64 ... you will need to get your newsreader ... writing code to convert the 32 bit based data files to 64 bit data files. ...
    (news.software.readers)
  • Re: OT Order yours today!
    ... >> I use Forte Agent, a very fine newsreader, and when I downlead today's ... >> headers, yesterdays have already disappeared - so I don't see the ... >whether the messages themselves still exist on the server. ... >This "proper etiquette" of which you speak is exactly contrary to the ...
    (rec.music.makers.percussion)
  • Re: Help
    ... Here's information on Usenet and using a newsreader, ... Our current backup solution is simply portable hard drives (120gb ... dell for a server solution I was quoted the above server with a tape ... I have been looking into DAS ...
    (microsoft.public.windows.server.general)
  • Re: ASP, Help Ed set up his newsreader
    ... He needs a simply easy one to view ASP. ... Please configure your newsreader to access ... You also have to configure your client to use the userid and password you will soon receive by email. ... Please refer to your newsreader's documentation for information on how to configure server access with authentication or check the FAQ ...
    (alt.smokers.pipes)
  • Re: Remote Access to the SBS 2003 Server
    ... Try using the newsreader method as described in my reply. ... Server 2003, but we have a problem trying Remote Access to it. ... connections might not be enabled or the computer might be too busy ...
    (microsoft.public.windows.server.general)