turk porno porno escort rokettube
Ergebnis 1 bis 7 von 7

Thema: Umfangreiche Abfragen mit Objekten performant abbilden

  1. #1
    Neuer Benutzer
    Registriert seit
    18.12.2014
    Beiträge
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Standard Umfangreiche Abfragen mit Objekten performant abbilden

    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-Code:
    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?

  2. #2
    Neuer Benutzer
    Registriert seit
    18.12.2014
    Beiträge
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Standard

    Hallo zusammen,

    kann mir niemand Tipps geben, wie ich die Abfrage performanter gestalten könnte?

  3. #3
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von webdev Beitrag anzeigen
    kann mir niemand Tipps geben, wie ich die Abfrage performanter gestalten könnte?
    Xdebug und dessen Profiler verwenden um den Flaschenhals zu finden.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  4. The Following User Says Thank You to Kaiuwe For This Useful Post:

    webdev (04.02.2015)

  5. #4
    Neuer Benutzer
    Registriert seit
    18.12.2014
    Beiträge
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Standard

    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.

  6. #5
    Neuer Benutzer Avatar von Troll
    Registriert seit
    09.01.2015
    Beiträge
    24
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    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
    alles wird Troll

  7. #6
    Neuer Benutzer
    Registriert seit
    18.12.2014
    Beiträge
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Standard

    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.

  8. #7
    Neuer Benutzer Avatar von Troll
    Registriert seit
    09.01.2015
    Beiträge
    24
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    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
    alles wird Troll

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 04.02.2011, 13:31
  2. Antworten: 4
    Letzter Beitrag: 07.11.2010, 17:57
  3. Caching eines Arrays mit Objekten
    Von tsk im Forum Core
    Antworten: 8
    Letzter Beitrag: 14.09.2009, 22:21
  4. Microtime abbilden
    Von Komandar im Forum Einsteigerfragen
    Antworten: 4
    Letzter Beitrag: 22.07.2009, 11:25
  5. Problem mit Objekten in Zend_Session
    Von kenta im Forum Auth
    Antworten: 13
    Letzter Beitrag: 20.12.2007, 17:08

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •