Einzelne Werte möglichst systemschonend auslesen

Jakob

Jakob

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2004
Beiträge
1.070
Reaktionspunkte
21
Hallo,

nachdem mir hier so gut geholfen wurde nochmal eine vielleicht sogar zu einfache Frage:

Ich habe aus eine Tabelle mit Maßen von Objekten und möchte bestimmte Abmessungen (nicht alle) in ein assoziatives Array speichern.

Beispieltabelle:
Code:
Objekt_ID  |  Eigenschaft_ID  |  Wert
     1               1             100
     1               2             150
     1               3             120
     1               4              80

Zur Zeit mach ich das so (manche Methoden aus einem PEAR-Package):
PHP:
$abmessungs_sql = 
				'SELECT   Eigenschaft_ID, Wert ' .
				'FROM     Wertetabelle ' .
				'WHERE    Objekt_ID = '.$this->id.' ' .
				'AND      Eigenschaft_ID between 1 and 3';
		
		$res2 = $db->query($abmessungs_sql);
		if(true == DB::isError($res2)) die ($res2->getMessage());
		
		$abmessungen = array();
		
		while($data = $res2->fetchRow())
		{
			switch($data[0])
			{
				case 1: $abmessungen['Hoehe'] = $data[1];
				break;
				case 2: $abmessungen['Breite'] = $data[1];
				break;
				case 3: $abmessungen['Länge'] = $data[1];
				break;
			}
		}

Eine andere Möglichkeit wären anstatt der while-Schleife drei SQL-Abfragen zu starten, aber ist das besser?

Oder gibt es dafür sogar noch einen weit besseren Ansatz?
Vielen Dank!
 
Ganz einfach, messe die Zeit die Version 1 braucht (while schleife) und dann vergleiche es mit Version 2, (3 Sql - Anfragen) dann wäre die erste Frage geklärt in Hinsicht Performance, aber ist das deine Intention ?
 
Zurück
Oben Unten