Skip to content

Commit 04e7b95

Browse files
committed
补充 dexie 批量插入
1 parent 4d0c0b7 commit 04e7b95

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ pnpm install 然后就可以跑起来
1111
| loki | 13 |
1212
| idb | 172 |
1313
| 原生indexedDB | 753|
14-
| dexie | 972 |
14+
| dexie 单条插入 | 1036 |
15+
| dexie 批量插入 | 945 |
1516
| localForage | 两分钟还没返回, 不考虑 |
1617

1718
## 10万条数据测试结果
@@ -22,4 +23,5 @@ pnpm install 然后就可以跑起来
2223
| idb | 5334 |
2324
| 原生indexedDB | 8687 |
2425
| dexie | 10464 |
26+
| dexie 批量插入 | 10816 |
2527
| localForage | 两分钟还没返回, 不考虑 |

index.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ <h4>Database</h4>
7272
<br/>
7373
<input type="radio" name="db" id="dbDexie" value="dexie"/>
7474
<label for="dbDexie">Dexie</label>
75-
75+
<br/>
76+
<input type="radio" name="db" id="bulkDexie" value="dexie_bulk"/>
77+
<label for="bulkDexie">Dexie 批量插入</label>
7678
<br/>
7779
<input type="radio" name="db" id="doNewIDB" value="new_idb"/>
7880
<label for="doNewIDB">真正的idb库包</label>

tester.js

+15
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,19 @@ function createTester() {
177177
});
178178
}
179179

180+
function dexieBulkTest(docs) {
181+
var collection = []
182+
for (var i = 0; i < docs.length; i++) {
183+
var doc = docs[i];
184+
doc.id = 'doc_' + i;
185+
collection.push(doc);
186+
}
187+
188+
return dexieDB.transaction('rw', dexieDB.docs, function () {
189+
dexieDB.docs.bulkAdd(collection)
190+
});
191+
}
192+
180193
function newIdbTest(docs) {
181194
var promise = Promise.resolve();
182195

@@ -293,6 +306,8 @@ function createTester() {
293306
return localForageWebSQLTest;
294307
case 'dexie':
295308
return dexieTest;
309+
case 'dexie_bulk':
310+
return dexieBulkTest;
296311
case 'new_idb':
297312
return newIdbTest;
298313
case 'idb':

0 commit comments

Comments
 (0)