1
lichao 2013-08-28 11:08:23 +08:00 1
当然是 UNIQUE
|
3
lichao 2013-08-28 11:28:35 +08:00 1
数据量很大 sqlite3 性能必然不高啊,sqlite3 大多用在移动平台或者嵌入式平台里面。
|
5
awanabe 2013-08-28 11:43:52 +08:00
第二种情况可能出现的是 多个线程同时进入逻辑, 都去数据库查询, 返回都是no record, 然后同时插入, 还是会多次记录. 所以没有数据库的unique键, 还是存在问题.
这应该是经典的 put-if-absent 问题... |
6
awebird 2013-08-28 12:44:26 +08:00
可以考虑用两张表读写分离,写数据插入a表的时候不做查询重复判断,id sequence自增,定时或者在数据库闲时,按id范围去重处理后归入b表做查询和其它用途,删除a表这个范围的数据
|
8
awebird 2013-08-28 12:59:15 +08:00 1
@zzNucker 不同方案适用于不同的应用场景吧。这样读写分离,适用于写频繁,读的少而且实时性要求不高的场景,比如写日志尽量要快,读日志哪怕等个几分钟半小时也可以接受。准实时的话,就缩短时间
|
9
keakon 2013-08-28 13:02:53 +08:00
用 key / value 的吧…
|