AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

Offene Frage von "Aviator"
Ein Thema von Aviator · begonnen am 29. Sep 2016 · letzter Beitrag vom 30. Sep 2016
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 09:52
Wiese ist ein View statisch?

Nehmen wir an:
create view Koeln as select * from Kunden where ort = 'Köln' Dann kannst du doch darauf eine Abfrage machen:
select * from Koeln as select * from Kunden where name = 'Müller' Ein View ist doch nichts weiter, als ein in der Datenbank abgelegtes, mehr oder weniger komplexes SQL-Statement zur Abfrage von Daten, das immer wieder benutzt werden kann.

Flappsig formuliert ist für mich ein View nix weiter, als ein Shortcut auf ein in der Datenbank abgelegtes Selectstatement.

Bei einer Abfrage der View wird letztlich dieses SQL ausgeführt und die entsprechende Ergebnismenge geliefert.

Wenn Du willst kannst Du auch per SQL mehrere View joinen ...

Zum eher Grundsätzlichen:

Bei einem leistungsstarken Datenbanksystem halte ich die Nutzung von SPs ... für deutlich effektiver. Gerade bei großen Datenmengen (zigtausende oder Millionen von Datensätzen) müssen diese nicht zum Client und verändert wieder zurück. Änderungen kann man per Trigger protokollieren ...

Ebenso Logiken, die bei der Einfügung neuer Datensätze in die Datenbank, ausgeführt werden müssen. (Ebenso natürlich auch beim Update oder Delete.)

Meine praktische Erfahrung aus der Vergangenheit unter C++ und Oracle ist die: Je mehr Logik in der Datenbank implementiert war, um so schneller liefen die Jobs ab.
Es ging hierbei um Datenmengen von 100ten Millionen Datensätzen in 'nem recht komplexen Datenmodell.
Die Zeitersparnis lag da im Bereich von Stunden und ab und an auch mal ein paar Tagen.

Meine persönliche Regel ist: Alles was die Datenbank machen kann, macht die Datenbank.
Außerhalb der Datenbank wird nur das erledigt, was mit Mitteln der Datenbank nicht umzusetzen ist.

So gerne ich mit Delphi programmiere. Das Delphiprogramm übernimmt nur die Teile, die die Datenbank nicht erledigen kann. Ggfls. per Benutzeroberfläche den Anstoß der SPs ..., um bestimmte Aufgaben zum von Benutzer manuell bestimmten Zeitpunkt auszuführen ...

Regelmäßig auszuführende Aufgaben, die die Datenbank selbständig ausführen kann, werden mit der datenbankeigenen "Prozesssteuerung" geplant und überwacht.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 10:47
Wiese ist ein View statisch?
Sorry, da hatte ich etwas falsch im Kopf. Man kann ja auch noch einem SELECT von einer View eine Where Klausel mitgeben.


Meine persönliche Regel ist: Alles was die Datenbank machen kann, macht die Datenbank.
Außerhalb der Datenbank wird nur das erledigt, was mit Mitteln der Datenbank nicht umzusetzen ist.

So gerne ich mit Delphi programmiere. Das Delphiprogramm übernimmt nur die Teile, die die Datenbank nicht erledigen kann. Ggfls. per Benutzeroberfläche den Anstoß der SPs ..., um bestimmte Aufgaben zum von Benutzer manuell bestimmten Zeitpunkt auszuführen ...

Regelmäßig auszuführende Aufgaben, die die Datenbank selbständig ausführen kann, werden mit der datenbankeigenen "Prozesssteuerung" geplant und überwacht.
Klingt interessant. Da müsste ich nur schauen, was ich mit Triggern machen könnte. So tief bin ich dann doch nicht mit dem SQL-Server vertraut. Ich habe zwar bisher alles gelöst bekommen, aber (für mich) extreme Aufgabenstellungen wie Trigger, Jobs (wird bei mir nicht benötigt), usw. habe ich bisher nie umgesetzt bzw. benötigt.
  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 20:34 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