AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datenbankabfrage beschleunigen
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankabfrage beschleunigen

Ein Thema von xaromz · begonnen am 23. Apr 2011 · letzter Beitrag vom 23. Apr 2011
 
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Datenbankabfrage beschleunigen

  Alt 23. Apr 2011, 17:59
Ok, nun hab ich es auch verstanden.

Code:
select d.* from
  a, b, c, d
where
      a.id = b.parent
  and b.id = c.parent
  and c.id = d.parent
  and c.id = :level3
  and b.id = :level2
  and a.id = :level1
Ist das die Variante, die 45 Sekunden braucht?

'Primary' und 'Foreign Key' ist erstmal eine logische Definition. Das kann es auch ohne Index geben. Mehrfachindizierung macht m.E. erstmal keinen Sinn.
Es muss nicht unbedingt jeweiles ein Index dazu da sein. Obwohl bei einem Primärschlüssel ja i.D.R automatisch ein Index erzeugt wird.
Du solltest aber sicherstellen, dass die Indizierung auf den Joinfeldern vorhanden ist.

Ansonsten liefert eine bloße Level 1 Einschränkung ca 1,5 Mio Datensätze im Schnitt! Das ist unabhängig von der Breite von D eine relevante Größenordnung, so groß, dass sie zumindest höchstens technisch zu gebrauchen ist. Und es ist dann sehr wohl fraglich, ob Netz und Client das verkraften.

Ich empfehle Dir ein Test SQL (sowas wie oben) mit
"explain analyze" zu bearbeiten und Indizierung bzw. Parametrierung und Aufbau des Selects damit solange zu untersuchen und ändern, bis Du zufrieden bist oder nichts mehr rauszuholen ist.
Gruß, Jo
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz