加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite的可扩展性如何?

发布时间:2020-12-12 19:23:42 所属栏目:百科 来源:网络整理
导读:我最近阅读这个问题关于 SQLite vs MySQL和答案指出,SQLite不能很好地缩放和官方网站 sort-of confirms this,但是。 SQLite的可扩展性以及它的最高限制是什么? 昨天我发布了一个小网站*来跟踪您的代表,为所有访问者使用共享的SQLite数据库。不幸的是,即
我最近阅读这个问题关于 SQLite vs MySQL和答案指出,SQLite不能很好地缩放和官方网站 sort-of confirms this,但是。

SQLite的可扩展性以及它的最高限制是什么?

昨天我发布了一个小网站*来跟踪您的代表,为所有访问者使用共享的SQLite数据库。不幸的是,即使有适度的负载,它放在我的主机,它运行相当缓慢。这是因为每次有人查看页面时,整个数据库都被锁定,因为它包含更新/插入。我很快就切换到MySQL,虽然我没有太多时间来测试它,它似乎比SQLite可扩展性。我只记得慢页面加载,偶尔得到一个数据库锁定的错误时,试图执行从sqlite的shell查询。也就是说,我从SQLite运行另一个网站很好。区别是网站是静态的(即我是唯一可以更改数据库的网站),因此它适用于并发读取。道德的故事:只使用SQLite的网站,其中数据库的更新很少(少于每个页面加载)。

编辑:我只是意识到,我可能不公平的SQLite – 我没有索引SQLite数据库中的任何列,当我从网页上提供它。这部分导致了我经历的减速。然而,数据库锁定的观察 – 如果你有特别繁重的更新,SQLite性能将不匹配MySQL或Postgres。

另一个编辑:自从我发布了这差不多3个月前,我有机会密切检查SQLite的可扩展性,有一些技巧,它可以是相当可扩展。正如我在我的第一次编辑中提到的,数据库索引大大减少了查询时间,但这是更多的关于数据库的一般观察,而不是关于SQLite。但是,还有另一个技巧可以用来加速SQLite:transactions.每当你必须做多个数据库写入,将它们放在一个事务中。而不是每次发出写入查询时写入(和锁定)文件,写入只会在事务完成时发生一次。

我提到我在第一段中发布的网站已经切换回SQLite,它运行相当顺利,一旦我在几个地方调整我的代码。

*该网站已不再可用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读