AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP/MySQL] komplexe vs. viele einfache Queries
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP/MySQL] komplexe vs. viele einfache Queries

Ein Thema von Daniel G · begonnen am 12. Aug 2007 · letzter Beitrag vom 24. Aug 2007
Antwort Antwort
Daniel G
(Gast)

n/a Beiträge
 
#1

[PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 12. Aug 2007, 13:23
Moin, moin,

Ich habe mal eine pure Interessensfrage.

Ich bin auf dem Gebiet Webprogrammierung/SQL noch relativ unerfahren (~2 Monate am Basteln) und habe spaßeshalber mal die Queries auf meiner HP zählen lassen (Software ist ne Eigenentwicklung). Ich liege bei meinen statische Seiten bei ~30, bei meinem Blog aber schon bei ~50 Queries. Die Queries sind alle relativ simpel gestrickt, also keine komplexen Verknüpfungen mit "JOIN" o.ä. Performance-Probleme kann ich keine feststellen. (Wer will, kann sich ja selbst ein Bild machen. )

Dennoch frage ich mich, ob es nicht sinnvoller wäre, die Anzahl der Queries dahingehend zu reduzieren, als dass ich einige "größere" Queries konstruier und die Daten "mit einem Schlag" aus der DB hole.

Oder nimmt sich das gar nicht viel?

(Wie gesagt: Reine Interessensfrage. Ich versuche kein Problem zu beheben, wo es keins gibt. )
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 12. Aug 2007, 15:31
Kommt darauf an wie "nah" Anwendung und DB beieinander liegen. Dauert benötigt z.B. der Netzverkehr (Ping-Zeit) 10 ms um von Anwendung zur DB zu kommen kannst du dir ausrechnen wie 50 simple Abfragen benötigen. Bei komplexen Anwendungen besteht bei großen DB's die Gefahr das der Query Parser einen suboptimale Ausführungsplan erzeugt und Full-Table-Scanns durchführt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#3

Re: [PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 13. Aug 2007, 12:55
Moin Bernhard,

danke dir, das mit dem Ping klingt eigentlich einleuchtend. Ich denke, beim nächsten Review werde ich mal schauen, welche Queries überflüssig sind (sprich durch globale Variablen ersetzt werden können) und welche ich noch zusammenfassen kann.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#4

Re: [PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 13. Aug 2007, 14:51
Wenn der DB-Server aber auf Localhost läuft, dürften die Ping Zeiten sehr klein sein...
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: [PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 13. Aug 2007, 15:16
In aller Regel ist es so, dass komplexere SQL-Abfragen deutlich schneller sind, als mehrere einfache Abfragen.
Vorallem verdichtete Ergebnisse mit SUM(), MIN(), MAX(), COUNT() und GROUP BY benötigen weniger Zeit, als wenn man alle Datensätze anfordert und die Summen in der Anwendung ausrechnet.
Die höchste Performance erhält man dann, wenn man für jedes Problem eine eigene maßgeschneiderte Abfrage hat. (maßgeschneidert heisst: man ruft nur die Felder und Datensätze ab, die man wirklich braucht. kein SELECT * FROM)
Natürlich müssen alle Indizies vorhanden sein, damit das DBMS die Abfragen effiziert durchführen kann.
Allerdings erschweren viele maßgeschneiderte Abfragen, dass man die Datenbank strukturiell einfach erweitern oder verändern kann.

==> Verlagerung von "Arbeit" von der Anwendung zur Datenbank erhöht die Performance aber erschwert die Entwicklung und Portabilität
Andreas
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#6

Re: [PHP/MySQL] komplexe vs. viele einfache Queries

  Alt 24. Aug 2007, 19:24
Hi Andreas,

Danke! Auf "*" Abfragen habe ich eigentlich von vornherein verzichtet. Warum soll ich den Speicher mit Sachen zumüllen, die ich eh nicht brauche? Ein, zwei Stellen konnte ich noch mit "COUNT" vereinfachen, alles in allem scheint die Performance aber doch so in Ordnung zu sein. Danke für die Tipps.

(N' bissel spät, die Antwort, aber was soll's.. )
  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 08:20 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