[Cubicweb] Loading slow a big table using default view
Vincent Michel
vincent.michel at logilab.fr
Thu Jan 23 13:41:46 CET 2014
On 23/01/2014 13:33, Sylvain Thénault wrote:
> On 23 janvier 12:24, Jinpeng Li wrote:
>> Dear developers,
>>
>> We found a problem that it is too slow to show a big table using default
>> view. I wrote a description as below with Markdown description. I hope that
>> the description is clear enough to understand. Don't hesitate to let me
>> know if you don't understand any part.
> It's very clear, thank your for that.
>
>> We guess that the default view may try to load all the data once and show
>> only first 40 items. In our real database, we have 10 million data, it will
>> take more than 1 minute to open web page where only first 40 items have
>> been shown. It would be to better to improve the default view with loading
>> limited number data items. If there is another possible reason, please let
>> us know. Thanks in advance.
> That may be due to the pagination. Anyway this case deserves investigation.
> Would you open a ticket with the very same description you've just sent?
>
> thx again, regards,
>
Hi,
I have already seen such issue on large database.
Among different tricks that may help you:
* Remove unused facets:
def registration_callback(vreg):
# Remove facets
from cubicweb.web.views.facets import (CWSourceFacet, CreatedByFacet,
InStateFacet, InGroupFacet,
ETypeFacet, HasTextFacet)
vreg.unregister(CWSourceFacet)
vreg.unregister(CreatedByFacet)
vreg.unregister(InStateFacet)
vreg.unregister(InGroupFacet)
vreg.unregister(ETypeFacet)
vreg.unregister(HasTextFacet)
* Avoid fetching "modification_date" and sorting by date in large lists.
You have to change AnyEntity fetch_attrs to remove the
"modification_date" order,
as for now it creates the following request on etype list:
Any X,AA ORDERBY AA DESC WHERE X is [etype], X modification_date AA
A quick solution is:
from cubicweb.entities import AnyEntity
AnyEntity.fetch_attrs = ()
This should help you.
Best,
Vincent
More information about the Cubicweb
mailing list