建议不要使用sqlite这种数据库频繁执行读写 *** 作,效率低。
如果不换数据库的话提供一条思路,使用缓存:用户访问时的插入语句放在一个字符串集合列表中,列表数量达到一定级别 例如1000条时,之后再用事务插入数据,然后删除。我曾经用sqlite连续插入过十万级别的数据,使用事务比遍历可以将插入时间压缩到十分之一左右
看这种现象,估计是SQL语句写的不够好,SQL要用绑定变量的方式,影响查询性能主要就是执行SQL过多,而且SQL写的不好,无效索引过多,第一步必须优化SQL,之后就是清理历史数据,清理无用索引,大表数据可以用分区表,还有就是tomcat的性能也需要注意,如果太卡,重启一下tomcat试试,是否有效果
读文件效率比数据库高无数倍,无论数据有多少都能高无数倍。数据库的优点是可以条件筛选,因为数据库有索引,所以在条件筛选的时候会比文本文件快(如果你的文本文件自己建立内容索引,就会比数据库快)文本文件推荐你使用的方式是二进制读写,所有文本都转换为二进制存进去,每一条记录都使用固定的字节数,最前面的八字节写一个64位long型的时间,然后在你需要读取的时候,可以用文本总长度除以你每一条的固定字节数,得到这个文件到底有几条数据,然后用二分法去判定每一条的时间,经实际测试亿万条数据可以在一个最小计时器周期内找到需要的数据
以上就是关于sqlite数据库写入数据慢,有什么办法吗全部的内容,包括:sqlite数据库写入数据慢,有什么办法吗、数据库写入数据很卡,查询也很慢,懂的高手请来,赏分解决可以追加分、写入数据库时间快还是txt时间块等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)