Add some missing indexes that should make queries significantly faster
This commit is contained in:
parent
ea9707b969
commit
331a7a640b
3 changed files with 68 additions and 3 deletions
|
@ -464,7 +464,7 @@ class BaseModel(ReadSlaveModel):
|
|||
|
||||
|
||||
class User(BaseModel):
|
||||
uuid = CharField(default=uuid_generator, max_length=36, null=True)
|
||||
uuid = CharField(default=uuid_generator, max_length=36, null=True, index=True)
|
||||
username = CharField(unique=True, index=True)
|
||||
password_hash = CharField(null=True)
|
||||
email = CharField(unique=True, index=True,
|
||||
|
@ -728,7 +728,7 @@ class RepositoryPermission(BaseModel):
|
|||
|
||||
class PermissionPrototype(BaseModel):
|
||||
org = QuayUserField(index=True, backref='orgpermissionproto')
|
||||
uuid = CharField(default=uuid_generator)
|
||||
uuid = CharField(default=uuid_generator, index=True)
|
||||
activating_user = QuayUserField(allows_robots=True, index=True, null=True,
|
||||
backref='userpermissionproto')
|
||||
delegate_user = QuayUserField(allows_robots=True, backref='receivingpermission',
|
||||
|
@ -769,7 +769,7 @@ class DisableReason(BaseModel):
|
|||
|
||||
|
||||
class RepositoryBuildTrigger(BaseModel):
|
||||
uuid = CharField(default=uuid_generator)
|
||||
uuid = CharField(default=uuid_generator, index=True)
|
||||
service = ForeignKeyField(BuildTriggerService)
|
||||
repository = ForeignKeyField(Repository)
|
||||
connected_user = QuayUserField()
|
||||
|
@ -923,6 +923,8 @@ class RepositoryTag(BaseModel):
|
|||
read_slaves = (read_slave,)
|
||||
indexes = (
|
||||
(('repository', 'name'), False),
|
||||
(('repository', 'lifetime_start_ts'), False),
|
||||
(('repository', 'lifetime_end_ts'), False),
|
||||
|
||||
# This unique index prevents deadlocks when concurrently moving and deleting tags
|
||||
(('repository', 'name', 'lifetime_end_ts'), True),
|
||||
|
@ -1462,6 +1464,9 @@ class Tag(BaseModel):
|
|||
(('repository', 'name', 'hidden'), False),
|
||||
(('repository', 'name', 'tag_kind'), False),
|
||||
|
||||
(('repository', 'lifetime_start_ms'), False),
|
||||
(('repository', 'lifetime_end_ms'), False),
|
||||
|
||||
# This unique index prevents deadlocks when concurrently moving and deleting tags
|
||||
(('repository', 'name', 'lifetime_end_ms'), True),
|
||||
)
|
||||
|
|
Reference in a new issue