Comment 2 for bug 1649317

Revision history for this message
Pierre Crégut (pcregut) wrote :

The solution is to apply the lazy='subquery' strategy:
- it solves the combinatorial blowup by querying each table with exactly the ids that are useful for the objects (supplied as a list in the where clause).
- the number of requests is limited by the complexity of the data model (the number of tables involved) not by the number of elements to retrieve (that would be the case with lazy='select').
- testing it against the current solution shows at most 20% slowdown in the worst case (and better behaviour in a lot of cases).

The test case is the listing of 1000 networks having a single subnet, one dns server and a subnet pool. The results are given here: http://paste.openstack.org/show/592122/