并发量几乎没有, 但是数据量比较大, 上亿条是有的. 数据量大了以后, sqlite vacuum 一下要好久好久, 造成业务 ting 停顿半个小时到几个小时不等, 实在受不了了. 有没有别的这种, 内嵌到 jar 包里的本地数据库解决方案, 不要长时间停顿的
1
optional 2021-02-24 15:01:42 +08:00 via Android
leveldb
|
2
mokeyjay 2021-02-24 15:10:00 +08:00
到了这个数据量,我觉得停顿是你本地硬盘不行的原因吧。机械硬盘?
|
3
bthulu OP @mokeyjay sqlite vacuum 会将当前整库数据复制一份, 再把原来的库删掉. 整库数据有几百 G, 几百 G 数据复制一下, 你觉得什么牛逼硬盘能在几秒内搞定?
|
6
QBugHunter 2021-02-24 15:46:43 +08:00
楼主你先排除硬盘的原因。。。
你到底复制了多少数据导致停顿半小时的,你说亿级别的,那数据库文件到底有多大 Sqlite3 对 1-10 亿级别的数据处理,除非特殊情况,否则不会出现性能瓶颈 |
7
bthulu OP @QBugHunter 增删改查是没有问题, 就是 vacuum 是个大问题啊
|
8
bthulu OP 或许我该用自动 vacuum, 这样不用复制数据倒是快很多
|
9
itskingname 2021-02-24 16:03:07 +08:00
@QBugHunter 1-10 亿级别都没有性能瓶颈。如果只是读的时候,已经可以吊打 MySQL 了。
|
10
systemcall 2021-02-24 17:28:52 +08:00 via Android
@bthulu 几百 G,当然是用 M1 搞定
|