zope
[Arriba] [Todas las Listas]

Re: [Zope] ZCatalog Rendimiento de consultas

To: Tres Seaver <tseaver@xxxxxxxxxxxxx>
Subject: Re: [Zope] ZCatalog Rendimiento de consultas
From: Sebastian Tänzer <st@xxxxxxxxxx>
Date: Tue, 19 May 2015 10:54:16 +0200
Cc: zope@xxxxxxxx
Delivered-to: zope@xxxxxxxx
Delivery-date: Tue, 19 May 2015 05:01:02 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <mjajl4$6lm$1@ger.gmane.org>
List-archive: <http://mail.zope.org/pipermail/zope/>
List-help: <mailto:zope-request@zope.org?subject=help>
List-id: Users of the Z Object Publishing Environment <zope.zope.org>
List-post: <mailto:zope@zope.org>
List-subscribe: <https://mail.zope.org/mailman/listinfo/zope>, <mailto:zope-request@zope.org?subject=subscribe>
List-unsubscribe: <https://mail.zope.org/mailman/options/zope>, <mailto:zope-request@zope.org?subject=unsubscribe>
References: <E26DBC34-A29F-44C3-AAC6-02E93A96C7D7@taenzer.me> <mjajl4$6lm$1@ger.gmane.org>
Sender: "Zope" <zope-bounces@xxxxxxxx>
*Thanks Para el *feedback y ayuda, *Tres. 

Dejado’*s decir quiero mostrar un *accordion con todos los  acontecimientos de un mes que muestra bastante dato sobre el acontecimiento (30-50 acontecimientos en una página, plegable *jQuery *accordion). En el momento consigo los resultados y poner los objetos al conjunto de resultado *via *unrestrictedTraverse utilizando *getPath().  ser mejor a sólo conseguir el camino y conseguir el objeto en la plantilla? Hace esto hace cualquier rendimiento de diferencia sensato?

Qué dato de los objetos de acontecimiento  mantengo tan *ZCatalog *meta columnas y cuál no? La Documentación no es realmente útil en esto.

La parte delicada es que los acontecimientos son enlazados con ubicaciones diferentes (ubicación de acontecimiento, vendiendo puntos) que no son niños del objeto de acontecimiento pero objetos en una carpeta diferente. El acontecimiento objeta él sólo mantiene los vínculos a estos objetos de ubicación y yo les consiguen cuándo *iterating sobre el resultado puesto en la plantilla.

Cualquier consejo lo que sería la manera mejor para este rendimiento-sensato?
Lo es *okay para conseguir el objeto él *via *traversal? Es allí una manera más rápida de conseguir el dato de objeto?

> Soy 17.05.2015 *um 19:37 *schrieb *Tres *Seaver <tseaver@xxxxxxxxxxxxx>:
> 
> -----EMPEZAR PGP MENSAJE FIRMADO-----
> *Hash: *SHA1
> 
> En 05/17/2015 11:09 AM, Sebastian *Tänzer escribió:
>> Qué es las alternativas?
> 
> La mayoría de *performant la implementación sería para generar el URL para
> la imagen que utiliza un sufijo fijo (pariente al objeto de resultado).  *E.*g., ::
> 
>  <*ul>
>    <*li *tal:repite="contexto de acontecimiento/*listEvents">
>      <un *href="acontecimiento/*getUrl">
>       <*img *src="cadena:#nom/*getUrl}/imagen_de acontecimiento" />
>       <*span *tal:TÍTULO="de título/de acontecimiento">de contenido</*span>
>      </un>
>    </*li>
>  </*ul>
> 
> podrías conseguir que sufijo fijo tampoco por *mandating un ID de objeto
> fijo para la imagen, o por añadir una vista / de método al acontecimiento que
> redirigió al URL de imagen real.
> 
> 
> 
> *Tres.
> - -- 
> ===================================================================
> *Tres *Seaver          +1 540-429-0999          tseaver@xxxxxxxxxxxxx
> *Palladion Excelencia   "de Software por Diseño"    *http://*palladion.*com
> -----EMPEZAR FIRMA de PGP-----
> Versión: *GnuPG *v1.4.11 (*GNU/Linux)
> 
> *iQIcBAEBAgAGBQJVWNHiAAoJEPKpaDSJE9*HY/*nYQALbHx3*WvyjEk/6*rsgomcWJhN
> *va4*ZgWEjQtFuSlzHOf30*CGKIEwNX+*EAYWw6*juMznQo/4*Yq5*b2*g4*Ur8*cA9*q1*gYgFB
> 2*ZwW4/*W4*wKsaAJxQ6*sckinAKhlWGJugXdpcxnbbU3*V0*ePoUtgPsO0*GVIlPoDV+WF
> /*qEnWYWTu+7*xHf/*DV5*iiHKTqYM0*Oqv1*aNTuZd9*s8/*emHoDuU8*RpzVLscZuJEYk+*B
> 5*mdFFSfNJ9*wer79*fxQH8*yM+8*Vz6*IkVx4*XCCTa9/9*QM9*qHTVLqvv+*AllbtolQ4*gms
> *ASkisuW7*p/*XvJgK5*bMbUFvEkDZQQDMFAuRKe2*lnVT6*rAFXiR04*fHk6*GKKtW3*WyEb
> *Cdq4*GYcKz4*ZYdF4*l2QV8*h+*FOZRAf6*qWW9*CCiRsuihaiYB57*Uk8*hI/*GPk00*TXL78*z
> *rmOWtZ86*d7*hlCarP8*k+*T+1*b5*b+*RQUB8*danop21*ys3*SeH+*FMiEPxjIuhY0*i43*n6*xQ
> *dg6*HJ8*ry7*KihYipaRJrC0*tqVFluToWFdLUaM1*qRSJHpcKi3*TpHKiKXGzNSHzeI1*y
> GD7*zb3HF+*lYqsy74*wPWIp/*flSmJxJMg5*givfHt96/*sFvaaNstvjIY6*KiKUUW0*JMy
> 8*b/*fF4*ufHu2*ZGoT8*TSMCZRa4*KpNMcat9*Edo/*MsgOeir65#uno3*PnFj9*Br8*DmpZJwTbV
> 9*KZEKY4*Aq+*EJq+*RPmH2*D
> =*U40*Y
> -----FIRMA de PGP del FIN-----
> 
> _______________________________________________
> *Zope *maillist  -  Zope@xxxxxxxx
> *https://correo.*zope.*org/*mailman/*listinfo/*zope
> **   #Ninguno correos de cruz o HTML *encoding!  **
> (Listas relacionadas -
> *https://correo.*zope.*org/*mailman/*listinfo/*zope-Anunciar
> *https://correo.*zope.*org/*mailman/*listinfo/*zope-*dev )


_______________________________________________
*Zope *maillist  -  Zope@xxxxxxxx
*https://correo.*zope.*org/*mailman/*listinfo/*zope
**   #Ninguno correos de cruz o HTML *encoding!  **
(Listas relacionadas -
 *https://correo.*zope.*org/*mailman/*listinfo/*zope-Anunciar
 *https://correo.*zope.*org/*mailman/*listinfo/*zope-*dev )
Thanks for the feedback and help, Tres. 

Let’s say I want to display an accordion with all events of a month displaying quite a lot of data about the event (30-50 events on one page, collapsible jQuery accordion). At the moment I get the results and put the objects into the result set via unrestrictedTraverse using getPath(). Would it be better to only get the path and get the object in the template? Does this make any difference performance wise?

Which data of the event objects would I keep as ZCatalog meta columns and which not? Documentation is not really helpful on this.

The tricky part is that events are linked with different locations (event location, selling points) that are not children of the event object but objects in a different folder. The event object itself only keeps the links to these location objects and I get them when iterating over the result set in the template.

Any advice what would be the best way for this performance-wise?
Is it okay to get the object itself via traversal? Is there a faster way to get the object data?

> Am 17.05.2015 um 19:37 schrieb Tres Seaver <tseaver@xxxxxxxxxxxxx>:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 05/17/2015 11:09 AM, Sebastian Tänzer wrote:
>> What are the alternatives?
> 
> The most performant implementation would be to generate the URL for the
> image using a fixed suffix (relative to the result object).  E.g., ::
> 
>  <ul>
>    <li tal:repeat="event context/listEvents">
>      <a href="event/getUrl">
>       <img src="string:{event/getUrl}/event_image" />
>       <span tal:content="event/title">TITLE</span>
>      </a>
>    </li>
>  </ul>
> 
> You could achieve that fixed suffix either by mandating a fixed object
> ID for the image, or by adding a method / view to the event which
> redirected to the actual image URL.
> 
> 
> 
> Tres.
> - -- 
> ===================================================================
> Tres Seaver          +1 540-429-0999          tseaver@xxxxxxxxxxxxx
> Palladion Software   "Excellence by Design"    http://palladion.com
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> 
> iQIcBAEBAgAGBQJVWNHiAAoJEPKpaDSJE9HY/nYQALbHx3WvyjEk/6rsgomcWJhN
> va4ZgWEjQtFuSlzHOf30CGKIEwNX+EAYWw6juMznQo/4Yq5b2g4Ur8cA9q1gYgFB
> 2ZwW4/W4wKsaAJxQ6sckinAKhlWGJugXdpcxnbbU3V0ePoUtgPsO0GVIlPoDV+WF
> /qEnWYWTu+7xHf/DV5iiHKTqYM0Oqv1aNTuZd9s8/emHoDuU8RpzVLscZuJEYk+B
> 5mdFFSfNJ9wer79fxQH8yM+8Vz6IkVx4XCCTa9/9QM9qHTVLqvv+AllbtolQ4gms
> ASkisuW7p/XvJgK5bMbUFvEkDZQQDMFAuRKe2lnVT6rAFXiR04fHk6GKKtW3WyEb
> Cdq4GYcKz4ZYdF4l2QV8h+FOZRAf6qWW9CCiRsuihaiYB57Uk8hI/GPk00TXL78z
> rmOWtZ86d7hlCarP8k+T+1b5b+RQUB8danop21ys3SeH+FMiEPxjIuhY0i43n6xQ
> dg6HJ8ry7KihYipaRJrC0tqVFluToWFdLUaM1qRSJHpcKi3TpHKiKXGzNSHzeI1y
> GD7zb3HF+lYqsy74wPWIp/flSmJxJMg5givfHt96/sFvaaNstvjIY6KiKUUW0JMy
> 8b/fF4ufHu2ZGoT8TSMCZRa4KpNMcat9Edo/MsgOeir65a3PnFj9Br8DmpZJwTbV
> 9KZEKY4Aq+EJq+RPmH2D
> =U40Y
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> Zope maillist  -  Zope@xxxxxxxx
> https://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
> https://mail.zope.org/mailman/listinfo/zope-announce
> https://mail.zope.org/mailman/listinfo/zope-dev )


_______________________________________________
Zope maillist  -  Zope@xxxxxxxx
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )
<Anterior por Tema] Tema Actual [Siguiente por Tema>