perf(electron): add index for updates (#6951)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/cd2e982a-f78a-4cc3-b090-ee4c0090e19d.png)

Above image shows the performance on querying a 20k rows of updates table, which is super slow at 150+ms. After adding index for doc_id the performance should be greatly improved.

After:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/45ea4389-1833-4dc5-bd64-84d8c99cd647.png)

fix TOV-866
This commit is contained in:
pengx17
2024-05-16 06:30:53 +00:00
parent 37cb5b86f4
commit 27af9b4d1a
10 changed files with 443 additions and 342 deletions

View File

@@ -77,16 +77,16 @@ test('db should be destroyed when app quits', async () => {
const db0 = await ensureSQLiteDB(workspaceId);
const db1 = await ensureSQLiteDB(v4());
expect(db0.db).not.toBeNull();
expect(db1.db).not.toBeNull();
expect(db0.adapter).not.toBeNull();
expect(db1.adapter).not.toBeNull();
existProcess();
// wait the async `db.destroy()` to be called
await setTimeout(100);
expect(db0.db).toBeNull();
expect(db1.db).toBeNull();
expect(db0.adapter.db).toBeNull();
expect(db1.adapter.db).toBeNull();
});
test('db should be removed in db$Map after destroyed', async () => {

View File

@@ -51,6 +51,6 @@ test('on destroy, check if resources have been released', async () => {
};
db.update$ = updateSub as any;
await db.destroy();
expect(db.db).toBe(null);
expect(db.adapter.db).toBe(null);
expect(updateSub.complete).toHaveBeenCalled();
});