Hi,
So, jetzt habe ich auch mal ein Problem.
Ist leider recht kniffelig.
Szenario:
Ich habe ein eindimensionales Array mit mehreren 100 Objekten der selben Klasse.
Diese Klasse hat ca. 10-20 Attribute vom Typ integer oder boolean. Alle Attribute aller Objekte verändern sich fortlaufend und ohne ein bestimmtes Muster.
Und jetzt möchte ich das Array, nach allen Objekten durchsuchen, bei denen bestimmte Bedingungen erfüllt sind. Z.B. wenn es die Attribute $foo und $bar gibt, suche ich alle Objekte aus dem Array, bei denen $foo == 2 und $bar == 42 ist. Übrigens existiert für jedes Objekt das konstante einzigartige Attribut $id.
Da einige 1000 diese "Queries" hintereinander gemacht werden müssen, ist performancetechnisch leider kein ständiges Durchsuchen des Arrays per Schleife (z.B. foreach) möglich.
Ich habe bis jetzt mal eine simple Spiegelung aller Werte in eine SQL-HEAP-Tabelle versucht und dann einfach mit SQL-Queries gearbeitet. Hat zwar technisch funktioniert, die Performance ist jedoch kaum bis gar nicht besser.
Gibt es eine performante Lösung, solche bestimmten Objekte in so einem Objektarray zu finden?
Vielen Dank.
So, jetzt habe ich auch mal ein Problem.
Ist leider recht kniffelig.
Szenario:
Ich habe ein eindimensionales Array mit mehreren 100 Objekten der selben Klasse.
Diese Klasse hat ca. 10-20 Attribute vom Typ integer oder boolean. Alle Attribute aller Objekte verändern sich fortlaufend und ohne ein bestimmtes Muster.
Und jetzt möchte ich das Array, nach allen Objekten durchsuchen, bei denen bestimmte Bedingungen erfüllt sind. Z.B. wenn es die Attribute $foo und $bar gibt, suche ich alle Objekte aus dem Array, bei denen $foo == 2 und $bar == 42 ist. Übrigens existiert für jedes Objekt das konstante einzigartige Attribut $id.
Da einige 1000 diese "Queries" hintereinander gemacht werden müssen, ist performancetechnisch leider kein ständiges Durchsuchen des Arrays per Schleife (z.B. foreach) möglich.
Ich habe bis jetzt mal eine simple Spiegelung aller Werte in eine SQL-HEAP-Tabelle versucht und dann einfach mit SQL-Queries gearbeitet. Hat zwar technisch funktioniert, die Performance ist jedoch kaum bis gar nicht besser.
Gibt es eine performante Lösung, solche bestimmten Objekte in so einem Objektarray zu finden?
Vielen Dank.