Index cascade FK columns on audit child tables (#86)

This commit is contained in:
Ben Senescu 2026-07-14 19:08:00 -04:00 committed by GitHub
parent b44dd6e1a7
commit 61c0b0c657
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 6575 additions and 2 deletions

View File

@ -0,0 +1,3 @@
CREATE INDEX "audit_issues_page_id_idx" ON "audit_issues" USING btree ("page_id");--> statement-breakpoint
CREATE INDEX "audit_lighthouse_results_page_id_idx" ON "audit_lighthouse_results" USING btree ("page_id");--> statement-breakpoint
CREATE INDEX "audit_links_source_page_id_idx" ON "audit_links" USING btree ("source_page_id");

File diff suppressed because it is too large Load Diff

View File

@ -71,6 +71,13 @@
"when": 1783699015488,
"tag": "0009_supreme_captain_stacy",
"breakpoints": true
},
{
"idx": 10,
"version": "7",
"when": 1784070000325,
"tag": "0010_overrated_amazoness",
"breakpoints": true
}
]
}

View File

@ -0,0 +1,3 @@
CREATE INDEX `audit_issues_page_id_idx` ON `audit_issues` (`page_id`);--> statement-breakpoint
CREATE INDEX `audit_lighthouse_results_page_id_idx` ON `audit_lighthouse_results` (`page_id`);--> statement-breakpoint
CREATE INDEX `audit_links_source_page_id_idx` ON `audit_links` (`source_page_id`);

File diff suppressed because it is too large Load Diff

View File

@ -232,6 +232,13 @@
"when": 1783699001850,
"tag": "0032_public_shinko_yamashiro",
"breakpoints": true
},
{
"idx": 33,
"version": "6",
"when": 1784069998475,
"tag": "0033_first_rick_jones",
"breakpoints": true
}
]
}

View File

@ -141,6 +141,9 @@ export const auditLinks = sqliteTable(
},
(table) => [
index("audit_links_audit_target_idx").on(table.auditId, table.targetUrl),
// Cascade path from audit_pages deletes; without this every page delete
// seq-scans the (large) links table.
index("audit_links_source_page_id_idx").on(table.sourcePageId),
],
);
@ -165,6 +168,7 @@ export const auditIssues = sqliteTable(
},
(table) => [
index("audit_issues_audit_type_idx").on(table.auditId, table.issueType),
index("audit_issues_page_id_idx").on(table.pageId),
],
);
@ -192,5 +196,8 @@ export const auditLighthouseResults = sqliteTable(
r2Key: text("r2_key"),
payloadSizeBytes: integer("payload_size_bytes"),
},
(table) => [index("audit_lighthouse_results_audit_id_idx").on(table.auditId)],
(table) => [
index("audit_lighthouse_results_audit_id_idx").on(table.auditId),
index("audit_lighthouse_results_page_id_idx").on(table.pageId),
],
);

View File

@ -136,6 +136,9 @@ export const auditLinks = pgTable(
},
(table) => [
index("audit_links_audit_target_idx").on(table.auditId, table.targetUrl),
// Cascade path from audit_pages deletes; without this every page delete
// seq-scans the (large) links table.
index("audit_links_source_page_id_idx").on(table.sourcePageId),
],
);
@ -160,6 +163,7 @@ export const auditIssues = pgTable(
},
(table) => [
index("audit_issues_audit_type_idx").on(table.auditId, table.issueType),
index("audit_issues_page_id_idx").on(table.pageId),
],
);
@ -187,5 +191,8 @@ export const auditLighthouseResults = pgTable(
r2Key: text("r2_key"),
payloadSizeBytes: integer("payload_size_bytes"),
},
(table) => [index("audit_lighthouse_results_audit_id_idx").on(table.auditId)],
(table) => [
index("audit_lighthouse_results_audit_id_idx").on(table.auditId),
index("audit_lighthouse_results_page_id_idx").on(table.pageId),
],
);