• Jeder User im Forum verpflichtet sich zur Akzeptanz und zur Einhaltung dieser Regeln:
    1. Umgangston
      Ein angemessener höflicher Umgangston, ohne Beleidigungen, Beschimpfungen und aggressive Postings ist für jedes Mitglied Pflicht.
    2. Beiträge
      Jedes Mitglied sollte sich bemühen nur sinnvolle Beiträge zum Thema zu posten. Dabei ist unbedingt vorher zu prüfen, ob das Thema vorher schon einmal diskutiert wurde und daher fortgesetzt werden kann
      • Suchfunktion benutzen!
      • offizielle Doku lesen!
    3. Haftung
      Jeder Beitragsersteller übernimmt die alleinige Verantwortung seiner Inhalte.
    4. Werbung
      Wir erlauben keine Beiträge, Signaturen, Private Nachrichten oder eMails an Benutzer, die Werbung enthalten. Ausgenommen
      sind Stellengesuche /-angebote, welche ausschließlich im Forum "Stellengesuche" veröffentlicht werden dürfen.
    5. Verstöße
      Regelwidrige Beiträge sollten dem Team gemeldet werden. Nach deren Überprüfung werden wir schnellstmöglich
      entsprechend handeln.
    6. Authorität
      Den Anweisungen der Team-Mitglieder (Administratoren und Moderatoren) sind in diesem Forum Folge zu leisten.
      Bei Fragen oder Beschwerden bitte an diese wenden.
    Wir möchten Euch darauf aufmerksam machen, dass es bei Verstößen gegen einen oder mehreren der oben genannten
    Punkte dem Team frei steht entsprechend zu handeln. Dies kann z.B. das Löschen eines Beitrags, das Ausschliessen bzw.
    Sperren von Mitgliedern oder aber lediglich eine Verwarnung sein.

    In diesem Zusammenhang sollte erwähnt werden, dass das Forum automatisch die IP-Adresse jedes Beitrag-Erstellers
    speichert. Bei schweren Vergehen, behalten wir es uns vor, die IP-Adresse zur Strafverfolgung weiterzugeben.
  • Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Umfangreiche Abfragen mit Objekten performant abbilden

webdev

New member
Hallo,

nach dem ich das Buch ZF2-Buch komplett durchgegangen bin habe ich mich an die erste Anwendung gewagt. Ich recht gut zurecht gekommen und die Anwendung läuft soweit auch. Ich habe lediglich ein paar Fragen zur Umsetzung, ob das so ideal ist oder man noch etwas optimieren bzw. verbessern kann.

In der Anwendung möchte ich eine Tabelle die aus mehreren Datenbanktabellen besteht darstellen (kunden, bestellung, kundengruppe). Hierzu lade ich in meiner BestellungTable (TableGateway) per Select und zwei LEFT Joins die zwei passenden Zeilen. Anschließend erstelle ich mittels Hydrator die Objekte:

PHP:
public function hydrate(array $data, $object){
        $object->exchangeArray($data);       
       if(isset($data['customer_id']) && $data['customer_id']) {
            $customer = new KundeEntity();
            $customer->exchangeArray($data);
            $customer->setId($data['customer_id']);
            $object->setKunde($customer);
       }
        if(isset($data['bg_id']) && $data['bg_id']) {
            $bg = new BenutzerGruppeEntity();
            $bg->exchangeArray($data);
            $bg->setId($data['bg_id']);
            $object->setBg($bg);
        }
       return $object;   
}
In der BestellungsEntity sind dann entsprechend getter und Setter für die zwei Objekte, so kann ich im view über ->getKunde()->getVorname() auf die Werte zugreifen.

Das Probleme scheint mir hierbei die Performance zu sein, die Seite lädt bei einer kleinen Menge an Daten schon ziemlich lange.
Wie kann man das performanter lösen, ohne einfach weniger Daten zu laden?
 

webdev

New member
Hallo,

danke für die Rückmeldung. Also an der DB Query liegt es nicht die zwei Abfragen dauern 21.23 ms. Das Gesamte laden der Seite aber fast eine Minute (48.67 s).

Ich nehme an das das verschachteln von Objekten nicht so sinnvoll ist?

z.B. Car hat ein getter und setter für Person, sodass im Car Objekt das Person Objekt abgelegt wird.

Ich hoffe ihr könnt mir helfen.

Danke.
 

Troll

New member
doofe frage .... in der theorie ... wie viele einträge gibt es in der DB ?!


für mich is aktuell auch das problem ich ich meine DB zupflaster mit abfragen die zwar nicht lange dauern

aber 2000 * 0.002 sind immer noch 4 sekunden oder so :) ;)
 

webdev

New member
Aktuell sind es 343 Zeilen, die Abfrage enthält zwei LEFT JOINS.

Die ZendDeveloperTools sagen das die Abfragen alle nur 21.23 ms dauern, somit nehme ich an das es daran nicht liegt.
 

Troll

New member
da bin ich dann spontan auch überfragt ohne zu sehen was er da macht

machst du noch was gruseliges mit den ergebnissen ?

ggf lass einfach mal alle zeilen in einer schleife durch laufen ohne gross was zu machen
 
Oben