Skip to content

Commit de11512

Browse files
committed
一行ずつのinsertは遅すぎる
1 parent 79a8cd3 commit de11512

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

scripts/checkDocs.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { existsSync } from "node:fs";
2929
import { getDrizzle } from "@/lib/drizzle";
3030
import { section as sectionTable } from "@/schema/chat";
3131
import "dotenv/config";
32+
import { sql } from "drizzle-orm";
3233

3334
let doWrite = false;
3435
let doCheckDiff = false;
@@ -114,16 +115,20 @@ for (const id in revisions) {
114115

115116
if (doWrite) {
116117
const drizzle = await getDrizzle();
117-
for (const id in revisions) {
118+
const batchSize = 100;
119+
const entries = Object.entries(revisions);
120+
for (let i = 0; i < entries.length; i += batchSize) {
118121
await drizzle
119122
.insert(sectionTable)
120-
.values({
121-
sectionId: id,
122-
pagePath: revisions[id].page,
123-
})
123+
.values(
124+
entries.slice(i, i + batchSize).map(([id, data]) => ({
125+
sectionId: id,
126+
pagePath: data.page,
127+
}))
128+
)
124129
.onConflictDoUpdate({
125130
target: sectionTable.sectionId,
126-
set: { pagePath: revisions[id].page },
131+
set: { pagePath: sql`excluded."pagePath"` },
127132
});
128133
}
129134

0 commit comments

Comments
 (0)