Make listing security groups faster

If we have a large number of security groups (more than 1000) with
security group rules (about 100 for each group) listing them
could take rather long time(more than 1 minute).

Adding lazy join to backref to SecurityGroupRule model will make
it faster at list on 15%.

Change-Id: I648a48cdefe0faf75c0c62bd8adffc12547293be
Closes-bug: #1426383
This commit is contained in:
Ann Kamyshnikova 2015-02-27 17:06:43 +03:00
parent 9d5e2b9b01
commit 5917fcff32
1 changed files with 1 additions and 1 deletions

View File

@ -100,7 +100,7 @@ class SecurityGroupRule(model_base.BASEV2, models_v2.HasId,
remote_ip_prefix = sa.Column(sa.String(255))
security_group = orm.relationship(
SecurityGroup,
backref=orm.backref('rules', cascade='all,delete'),
backref=orm.backref('rules', cascade='all,delete', lazy='joined'),
primaryjoin="SecurityGroup.id==SecurityGroupRule.security_group_id")
source_group = orm.relationship(
SecurityGroup,