恼人的SQLITE

前端之家收集整理的这篇文章主要介绍了恼人的SQLITE前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

作为客户端应用程序,有时需要存储一些本地信息。之前一直使用ACCESS,一方面比较熟悉,另一方面毕竟就是微软的东西,不需要部署任何东西就可以使用。

但也发现有两个问题比较严重,一是当程序崩溃或者计算机掉电后,可能出现数据库文件被损坏,导致无法打开的情况。如果没有安装Office环境的话,不容易恢复。虽然能够找到一些工具软件,但对于用户来说,还是比较麻烦的;二是数据库文件体积增长很快。当不断进行数据库信息变化时,由于数据库只能清空数据,但无法释放占用空间,导致数据库文件体积太大,时间长了就将磁盘空间消耗光了。

基于以上问题,考虑使用sqlITE数据库,只需要打包一个dll文件就行。基于数据库本身的机制,它不会因为程序问题或掉电问题导致文件损坏,另外文件体积似乎也不大,数据库压缩非常简单,查询效率很高。因此打算在系统中使用sqlITE进行数据存储。

但使用后发现一些问题,也相当地致命。一是在多线程下表现很差,基本上没办法使用。一般数据库互斥都是表级的,但sqlITE是文件级的,居然不能同时写两张表。连一张表读,另一张表写也做不到,简直无法接受。如果需要自己在外部加一堆锁来解决,那我觉得就是疯了。不光是说复杂,而且是无法满足需要。等于说一个库只能串行读写,这哪行啊。一种解决办法就是一个库一张表......

另外,sqlITE的查询语句中,用LIKE模糊查询时,如果带中文,也不好用,能查出莫名其妙的记录。

不知道还有没有哪些轻量级的数据库,不存在这些问题呢?

原文链接:https://www.f2er.com/sqlite/199519.html

猜你在找的Sqlite相关文章