我应该创建多个SQLite数据库以获得更好的并发性吗?

时间:2013-09-01 05:45:09

标签: sqlite

我对SQL和关系数据库(刚开始上周学习)非常陌生,我正在升级我的网站,目前我的所有数据都保存在XML文件中。它可以工作,但新网站更适合我听到的关系数据库可以做的事情,看起来SQLite对我来说是最好的。我关注的一个问题是并发性,即使99%的时间内99%的数据都是只读的(我理解SQLite非常擅长)。其他内容,例如某些页面的页面查看计数器将不断需要小写入。我还在学习数据库设计,并希望做得对。为那些写得很多的东西制作单独的数据库是否有意义,这样可以使主数据库更不容易受到并发问题的影响?是否有可能跨数据库执行“外键”类型引用(我还没有使用外键,但我认为我理解它们)?由于每个视图计数都指向主数据库中的某个主键。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

SQLite适用于嵌入式系统(如手机和平板电脑)和小型桌面应用程序(Chrome,Firefox,Thunderbird等)。但是,当您需要有许多并发读者和编写者(典型的网站)时,您不应该使用它。

即使您在许多数据库中分割数据,它也会产生大量的操作开销。例如,连接来自不同数据库的数据将很困难 - 您必须使用ATTACH,默认情况下,您最多只能ATTACH个数据库。并发问题仍然不会100%消失。

相反,使用像PostgreSQL或MySQL这样的真实数据库。这些数据库不仅速度更快,而且还可以通过网络实现对数据的真正并发访问,这是SQLite无法做到的。

我的个人偏好是PostgreSQL,但如果您的网络托管不提供PostgreSQL,您可以使用MySQL,但请使用完全交易引擎,如InnoDB。