Currently if one does a net-list tons of queries are issued against the
database as the default query mode is 'select' which performs a query when
the field is actually accessed. In this patch I change the the mode to
'joined' so subnets are loaded as the networks are loaded. Usually, there
are only 1 or 2 subnets on a network so loading this data shouldn't hurt.
This patch in my setup with 5000 networks reduces the net-list call from 27
seconds to 7! Woot Woot :)
Change-Id: I10eec4d79b522dfd685d3d2aa93a8d643104bba7
Closes-bug:
1298053
name = sa.Column(sa.String(255))
ports = orm.relationship(Port, backref='networks')
- subnets = orm.relationship(Subnet, backref='networks')
+ subnets = orm.relationship(Subnet, backref='networks',
+ lazy="joined")
status = sa.Column(sa.String(16))
admin_state_up = sa.Column(sa.Boolean)
shared = sa.Column(sa.Boolean)