Add composite indexes for workspace+id columns for PostgreSQL
This commit is contained in:
parent
907f2313cd
commit
da8655002a
1 changed files with 23 additions and 0 deletions
|
|
@ -510,6 +510,29 @@ class PostgreSQLDB:
|
||||||
f"PostgreSQL, Failed to create index on table {k}, Got: {e}"
|
f"PostgreSQL, Failed to create index on table {k}, Got: {e}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Create composite index for (workspace, id) columns in each table
|
||||||
|
try:
|
||||||
|
composite_index_name = f"idx_{k.lower()}_workspace_id"
|
||||||
|
check_composite_index_sql = f"""
|
||||||
|
SELECT 1 FROM pg_indexes
|
||||||
|
WHERE indexname = '{composite_index_name}'
|
||||||
|
AND tablename = '{k.lower()}'
|
||||||
|
"""
|
||||||
|
composite_index_exists = await self.query(check_composite_index_sql)
|
||||||
|
|
||||||
|
if not composite_index_exists:
|
||||||
|
create_composite_index_sql = (
|
||||||
|
f"CREATE INDEX {composite_index_name} ON {k}(workspace, id)"
|
||||||
|
)
|
||||||
|
logger.info(
|
||||||
|
f"PostgreSQL, Creating composite index {composite_index_name} on table {k}"
|
||||||
|
)
|
||||||
|
await self.execute(create_composite_index_sql)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(
|
||||||
|
f"PostgreSQL, Failed to create composite index on table {k}, Got: {e}"
|
||||||
|
)
|
||||||
|
|
||||||
# After all tables are created, attempt to migrate timestamp fields
|
# After all tables are created, attempt to migrate timestamp fields
|
||||||
try:
|
try:
|
||||||
await self._migrate_timestamp_columns()
|
await self._migrate_timestamp_columns()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue