in a nutshell, the external method will be faster because you can use it to circumvent security checking. when a large result from a ZSQL method is coming back to a page that renders it then zope will do a security check on every single item (not just every line) of that record to determine if the current user is allowed to see this item. so if your result set has 10,000 rows and 5 columns in each row then the security machinery will check 50,000 times. one exception where the security machinery will not check are simply python types (the return values from a ZSQL method are objects that contain the results and not simple types), such as strings, lists, dictionaries etc. so if you use an external method to get the result set and then convert it inside the external method to such a simple type and hand that back to DTML you will see a marked increase in speed. jens On Thursday, April 4, 2002, at 04:08 , Luca Manini wrote:
It's almost surely not the Z SQL Method but the DTML rendering that makes it slow.
Use an External Method to generate the HTML from the query result.
Dieter
Just out of curiosity:
1 - (technical) why would the external method by faster? 2 - (meta) rendering HTML is "the" DTML job, isn't it?
bye, Luca.