Merge pull request #77 from Cerberus98/moar_indices

More optimizations and indexes for #75
This commit is contained in:
Jason Meridth
2014-02-27 12:33:16 -06:00
3 changed files with 4 additions and 5 deletions

View File

@@ -267,7 +267,7 @@ def mac_address_range_find_allocation_counts(context, address=None):
sql_func.count(models.MacAddress.address).
label("count")).with_lockmode("update")
query = query.outerjoin(models.MacAddress)
query = query.group_by(models.MacAddressRange)
query = query.group_by(models.MacAddressRange.id)
query = query.order_by("count DESC")
if address:
query = query.filter(models.MacAddressRange.last_address >= address)

View File

@@ -119,14 +119,14 @@ class IPAddress(BASEV2, models.HasId):
"""
__tablename__ = "quark_ip_addresses"
address_readable = sa.Column(sa.String(128), nullable=False)
address = sa.Column(custom_types.INET(), nullable=False)
address = sa.Column(custom_types.INET(), nullable=False, index=True)
subnet_id = sa.Column(sa.String(36),
sa.ForeignKey("quark_subnets.id",
ondelete="CASCADE"))
network_id = sa.Column(sa.String(36),
sa.ForeignKey("quark_networks.id",
ondelete="CASCADE"))
version = sa.Column(sa.Integer())
version = sa.Column(sa.Integer(), index=True)
allocated_at = sa.Column(sa.DateTime())
subnet = orm.relationship("Subnet", lazy="joined")
# Need a constant to facilitate the indexed search for new IPs
@@ -157,7 +157,7 @@ class IPAddress(BASEV2, models.HasId):
return str(ip.ipv4())
return str(ip.ipv6())
deallocated_at = sa.Column(sa.DateTime())
deallocated_at = sa.Column(sa.DateTime(), index=True)
class Route(BASEV2, models.HasTenant, models.HasId, IsHazTags):

View File

@@ -156,7 +156,6 @@ def get_network(context, id, fields=None):
(id, context.tenant_id, fields))
network = db_api.network_find(context, id=id, scope=db_api.ONE)
if not network:
raise exceptions.NetworkNotFound(net_id=id)
return v._make_network_dict(network)