Alles ausgeben oder gezielt?

ThiKool

Erfahrenes Mitglied
hallo zusammen
Ich habe eine Frage welche Variante perfotmanter ist.

Ist es sinnvoller bei einer Anfrage per IN Ca 5 werte reinzugeben und so fünf Datensätze zu holen oder sollte man eher alle betreffenden Datensätze des Users holen(Ca 80) und dann per foreach den Array zu überprüfen?

Ist es grundsätzlich perfotmanter nur das zu laden was man aktuell braucht und alle Prüfungen über if und where im SQL zu machen oder macht das keinen Unterschied da große where statements genauso aufwändig sind?

Danke euch
 
Zuletzt bearbeitet:
Du fragst nach if und Schleife. Bist du in der Procedureprogrammierung von PL/SQL? Oder auf was für einem System arbeitest du?

Grundsätzlich sollte der IN() schneller sein als eine Schleife
 
SQL. Schön.

Und welches SQL? Oracle? MS SQL? MySQL? Pervasive SQL? PostgreSQL? oder sonst was.

Und in welcher Sprache würdest du dein foreach über einen Array machen wollen?
 
Dann ist der IN mit grosser Sicherheit performanter.
Was du kannst immer in SQL lösen und so wenig Daten wie möglich nach PHP übernehmen.
Auch die Anzahl der Anfragen an die DB möglichst minimieren. Komplex aussehende SQL müssen nicht langsam sein.
 
Ergänzung zu Yaslaw:
In der Regel sind SQL-Maschinen schneller (wenn sie denn auf getrennten Maschinen liegen). Zudem ist es stets sinnvoll, die Daten dort zu "filtern" wo sie anfallen, also hier im SQL. So muss nicht das Gesamtpaket in Dein Zielsystem (php ?) exportiert und da verarbeitet werden, sondern nurnoch ein Teil davon. Immer so wenig Traffic wie möglich verursachen.
 

Neue Beiträge

Zurück