AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Index auf FK, auf die Wert-Spalte oder auf beide???
Thema durchsuchen
Ansicht
Themen-Optionen

Index auf FK, auf die Wert-Spalte oder auf beide???

Ein Thema von romber · begonnen am 25. Dez 2012 · letzter Beitrag vom 26. Dez 2012
Antwort Antwort
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Index auf FK, auf die Wert-Spalte oder auf beide???

  Alt 25. Dez 2012, 23:18
Datenbank: MS SQL Server • Version: 2008 • Zugriff über: ADO, UniDAC
Hallo!

Zunächst einmal fröhliche Weihnachten und alles Beste an alle

Ich habe in meiner Datenbank eine "Haupttabelle" und mehrere "Nebentabellen", die per FK mit der Haupttabelle verknüpft sind. Alles als Ganze betrachtet, handelt es sich bei den Tabellen um eine Art Filter. Über eine API bekomme ich sehr große Menge an Daten geliefert, die ich mithilfe dieses Filters auf bestimmte Kriterien prüfen möchte. Jeder gelieferter Datensatz muss durch diesen Filter durch und das mit höchstmöglichen Performance. Die Nebentabellen bestehen alle aus zwei Spalten. Eine Spalte enthält den FK und die andere den Wert für die Prüfung.

- Soll ich in jeder Nebentabelle einen Index auf FK setzten?
- Soll ich in jeder Nebentabelle einen Index auf die Wert-Spalte setzen?

Wie schon gesagt, mein Ziel ist die höchstmögliche Performance bei der Prüfung. Geschrieben wird in die Tabellen ganz selten, hier ist das Performance unwichtig.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Index auf FK, auf die Wert-Spalte oder auf beide???

  Alt 25. Dez 2012, 23:41
Wie wird gefiltert? Erst wenn man weiß, wie die Abfragen aussehen, kann man entsprechend optimieren.

Wenn die Tabellen sehr selten verändert werden, könnte ein Column-index interessant sein. Dann müssen diese Indexe aber vor jeder Änderung entfernt und anschließend wieder neu aufgebaut werden.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Index auf FK, auf die Wert-Spalte oder auf beide???

  Alt 25. Dez 2012, 23:55
Vielen Dank für die schnelle Reaktion!

Wie wird gefiltert? Erst wenn man weiß, wie die Abfragen aussehen, kann man entsprechend optimieren.
Die Abfrage ist immer die selbe. Bei jedem Tabellenwert wird geprüft, ob es entweder Nil ist oder dem Wert des zu prüfenden Datesatzes entspricht.

Wenn die Tabellen sehr selten verändert werden, könnte ein Column-index interessant sein.
So ist es. Nur auf welche Spalte? Auf den FK, auf den Wert oder auf beide?

Dann müssen diese Indexe aber vor jeder Änderung entfernt und anschließend wieder neu aufgebaut werden.
Wenn and den Tabellen überhaupt was geändert wird, dann nur extrem selten. Daher soll das kein Problem sein.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Index auf FK, auf die Wert-Spalte oder auf beide???

  Alt 26. Dez 2012, 10:56
Die Abfrage ist immer die selbe. Bei jedem Tabellenwert wird geprüft, ob es entweder Nil ist oder dem Wert des zu prüfenden Datesatzes entspricht.
Ein Index auf beide Spalten (Wert zuerst, dann FK) liefert Dir für die Abfrage schnellstmöglich ein Eregbnis
Code:
select FK
        from Nebentabelle
       where Wert=:WertAusTabelle
Um weitergehende Aussagen zu machen, benötige ich die konkrete Abfrage und Aufgabenstellung.
  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 03:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz