Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#1

[SQL Design] Kann man am Tabellen-Design was verbessern?

  Alt 16. Sep 2013, 17:06
Datenbank: Firebird • Version: 2.52 • Zugriff über: UniDAC
Hallo Leute, hab mal 'ne kleine Frage...
Ich versuche in einer vorhandenen sehr grossen Software (1000+ Formulare) einen Dokumente-Container einzubauen, der geht auch ganz gut für verschiedene Teile schon. Jetzt hat aber jede Dokuemnt-Form eine eigene Liste, wo die Dokumente eines Typs gelistet werden mit ihren jeweiligen Übersichtsdaten.

Der Container muss ein paar "alte Daten" in eine ID wandeln und hat einige gemeinsame Daten für jedes Dokument (wie Status, Erstellunsgdatum, Nutzername etc).
Die plten Daten sind ein Unique Key für jedes Dokument (Felder: E, S, Tipo, Numero), das wird in ein DocID übersetzt.
Zusätzlich muss ich ein Stringfeld Clase mit 2 chars mitführen, welches die Klasse des Dokuments bestimmt (Wareneingang, Rechnung, Zahlungseingang etc).

Hier nun das Problem: die typische Abfrage der Listenansicht ist so wie "Zeige mir alle Einträge der Klasse soundso"

Also "SELECT * FROM DocCont WHERE Clase='OS' " zum Bsp.
Das ist natürlich nicht indiziert. Habe den Primärkey über "DocID", einen Unique über die Felder "E, S, Tipo, Numero", aber Clase kann halt tausendfach vorkommen.

Hat einer ne Idee ? Weil sowie ich 30000 Dokumente eines Typs habe, dauert esa schon auf meinem PC 1-2 Sekunden, ich möchte es im Netz erst garnicht probieren

Was ich mir überlegte ist eine Tabelle Hist_DocCont wo ich "alte" dokumente hinschiebe
  Mit Zitat antworten Zitat