Wie am besten Abfragen?
Andü
- datenbank
Hallo!
Ich hab für mich so eine Art Weblog gemacht und lese die Daten aus ein SQL-Datenbank - jetzt ist die Frage, ob es besser ist...
Vom Schreibaufwand her nimmt sich beides nix, da ich beide Prozeduren in eine externe Funktion geschrieben hab.
Hallo!
- ...an jeder benötigten Stelle eine komplett neue SQL-Abfrage durchzuführen und so gleich nur die benötigten Daten im Array zgeschrieben hab.
was nützen dir daten die du nicht brauchst in einem array, du fragst natürlich nur das ab was du in deiner seite grade benötigst.
gruß
friction
was nützen dir daten die du nicht brauchst in einem array, du fragst natürlich nur das ab was du in deiner seite grade benötigst.
Du hast das anscheinend nicht ganz verstanden! Nochmal...
1. Entweder lese ich die ganze Datenbank am Anfang der Verarbeitung in einen Array ein und "destillier" dann (bei Bedarf) aus diesem Array die benötigten Daten.
Vorteil: Nur einmal SQL bemühen.
2. Ich les, so wie du das verstanden hast an der Stelle wo ich es benötige nur die benötigten Daten direkt aus der Datenbank.
Vorteil: Keine zweite Abfrage des Arrays nötig.
Jetzt die Frage: Was ist besser - sprich schneller und für den Server besser verarbeitbar?
yo,
- Entweder lese ich die ganze Datenbank am Anfang der Verarbeitung in einen Array ein und "destillier" dann (bei Bedarf) aus diesem Array die benötigten Daten.
es macht schon sinn, was friction geschrieben hat. die frage ist nämlich, ob du wirklich immer die gesamten daten aus der datenbank brauchst. oder mit anderen worten, alle daten, die du mit einer abfrage in ein array packen willst, ob diese auch wirklich alle später benötigt werden.
aber was deine frage betrifft, man kann darauf nicht pauschal antworten, weil es von der menge und der art der daten abhängt und auch davon, welches dbms und wie es eingestellt ist, welche umgebung, etc. ich würde es grob in zwei teile gliedern.
erstens ist deine datenbank sehr klein, dann ist es letzlich egal, ob du alles in einem schwung abholst oder nur die jeweils benötigten an der jeweiligen stelle. es wird so oder so schnell genug gehen, nimm einfach das, was dir besser liegt.
zweitens deine datenbank ist größer, dann macht es gar keinen sinn eine abfrage über eine gesamte datenbank zu stellen, wie auch immer diese aussehen sollte. dort auf jeden fall immer nur die jeweils benötigten daten beim dbms abholen.
Ilja