![]() |
Datenbank: Oracle • Version: 9 • Zugriff über: egal
Function oder View
Hallo zusammen,
ich hätte da mal eine prinzipelle Frage. Meine Daten sind in "Familien" organisiert, D.h. zu einem Familiensatz gehören mind 1 und bis zu 300 "Kinderdatensätze". Diese "Kinderdatensätze" sind mit "Ereignissen" verlinkt. Jedes Ereignis kann zwei Datumsangaben enthalten "Frist" und "Erledigt". Open : Frist:null Erledigt:Tagesdatum der Eingabe Expire : Frist:Datum max. Laufzeit Erledigt:Datum Erreichung der max.Laufzeit. Closed : Frist:null Erledigt:Tagesdatum der Eingabe Jeder Datensatz enthält das Open-Ereignis und kann Expire und/oder closed enthalten. Im Prinzip sieht die notwendige Abfrage so aus: select FamKey from Family where not exists(Open) and (Expiry is null or Expiry>Today) Meine Frage ist, was ist performanter, eine Funktion LebtdieseFamile(famkey) oder ein View der die Famkeys der lebenden Familien enthält. Gruß K-H |
AW: Function oder View
Kommt drauf an, was du brauchst.
Wenn du den Status aller "Familien" brauchst, ist der View insgesamt schneller, weil er auf einen Rutsch alles liefert. Allerdings braucht der View wohl mehr Zeit, bis er Daten liefert. Eine Funktion oder Stored Procedure ist für sich genommen schneller; wenn du aber in einer Schleife alle Familien abrufst wird insgesamt mehr Zeit benötigt als beim View. |
AW: Function oder View
Im Prinzip sehen deine beiden Datumsfelder nach einem Lifecycle aus. Die Logik hab ich allerdings nicht ganz verstanden. Egal.
Wenn du in einer extra Tabelle einen Set von Datensätzen der Familien verwaltest ist das sicher am schnellsten (ordentliche Indizierung usw . vorausgesetzt). Du handelst Dir damit allerdings eine Redundanz ein, die Du per Constraints / Trigger gut überwachen musst. Ein einfaches decode auf die beiden Datumsfelder sollte den "Zustand" auch ausspucken, uim Einzelzugriff wär das auch total unproblematisch. Wenn Du diese Daten in Reports / Queries massenhaft abfragst, dann dauert es halt etwas. Kann aber auch nicht tragisch sein. p.S: Ich glaub ich das Zitat:
Du willst nur wissen, ob View mit den Kriterien aus Deinem Beispiel oder Funktion? |
AW: Function oder View
Zitat:
Dann setzt ich beides ein, den View für die Massenabfrage und die Funktion für die Überprüfung einzelner Familien. Vielen Dank und ein schönes Wochenende. K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 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 by Thomas Breitkreuz