AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Index wird nicht imme rbenutzt
Thema durchsuchen
Ansicht
Themen-Optionen

Index wird nicht imme rbenutzt

Ein Thema von Dumpfbacke · begonnen am 4. Dez 2016 · letzter Beitrag vom 5. Dez 2016
Antwort Antwort
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Index wird nicht imme rbenutzt

  Alt 4. Dez 2016, 15:15
Hi,

vorweg, soviel Plan von SQL (geschweige den Firebird) hab ich nicht.

Aber mir glimmt etwas im Hinterkopf, das das etwas mit den Joins zu tun hat. Evtl. mal statt dem outer-join einen inner-join nutzen.

In meiner letzten Firma waren joins nicht sehr gern gesehene Gäste und nur, wenn es nicht anders
ging, genutzt, da sie die last auf dem DB-Server (lt. unserer DB-Spezialisten) start erhöt haben.
Aber das bezog sich primär auf MySQL.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
201 Beiträge
 
Delphi 12 Athens
 
#2

AW: Index wird nicht imme rbenutzt

  Alt 4. Dez 2016, 15:26
@Ghostwalker: Na ja, es entspricht ja wohl dem relationalen Datenmodell, wenn man eben diese Relationen zwischen Tabellen mit Joins nutzt. Es kommt wohl eher darauf an, wie man SQL benutzt und nicht einfach was ausschließt ... DB-Admins beschweren sich immer über "Last" !
Die Nutzung eines Index hängt im Übrigen unter anderem davon ab, wie der Optimizer entscheidet. Wenn er keine hohe Selektivität sieht, dann nutzt er meist einen einfachen Table Scan und eben nicht den Index. Aber um hier einen Ratschlag geben zu können ist die Info-Lage etwas dünn. Zu mindestens kann man sich mit einem FB-Tool auch den Ausführungsplan ansehen.
Thomas Forget
  Mit Zitat antworten Zitat
jobo

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

AW: Index wird nicht imme rbenutzt

  Alt 5. Dez 2016, 08:15
nahpets hat schon das Wesentliche gesagt, ein Outer JOin mit einer Einschränkung auf der offenen Seite ergibt wenig Sinn, bzw. ist genau zu beleuchten, ob es so Sinn macht oder anders gelöst werden kann. Der Vorschlag, einen normalen Join mit der Auftragseinschränkung zu machen, scheint mir aus der Ferne am sinnvollsten.
Ich tippe mal, dass der Outer Join hier gar nicht benötigt wird und einfach aus "Gewohnheit" oder Mangel an Detailkenntnis verwendet wird.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:05 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