【问题标题】:Is SQLite suitable for use in a production website?SQLite 是否适合在生产网站中使用?
【发布时间】:2010-09-24 03:55:03
【问题描述】:

我正在使用 Django 重写一个平均每天点击 40-50 次的 PHP+MySQL 网站。

SQLite 是否适合在这里使用?它们之间有什么优缺点吗?

我只是使用数据库来存储博客和可以编辑它的用户。我正在使用全文搜索进行博客搜索,但没有任何复杂的连接。

【问题讨论】:

    标签: mysql sqlite


    【解决方案1】:

    SQLite 可以很好地为您工作。听起来好像您主要将数据库用作只读数据库(偶尔写入以更新内容)。 SQLite 擅长这种访问模式。 SQLite 阻塞的唯一地方是当您对数据库进行大量写入时,因为一旦进程尝试写入文件,文件就会被锁定,直到写入完成。此外,如果您进行大量写入(例如在循环中更新行),您应该考虑将所有这些写入放入事务中 - 当事务遇到写入查询时文件被锁定时,更新本身花费的时间要少得多,因为它们' 一次写入文件,而不是单独写入。

    【讨论】:

      【解决方案2】:

      由于您已经在使用足够的数据库,我认为没有理由迁移到较小的数据库。

      虽然 sqlite 也可能完全够用 - 从功能更强大的平台切换到功能更弱的平台似乎不是最佳选择 :)

      【讨论】:

        【解决方案3】:

        对于这种级别的流量,SQLite 会很好。它实际上表现得很好,唯一缺少的是数据和查询的缓存,因为每次访问您的页面时都需要启动它。也就是说,它仍然非常快,以后如果需要迁移到 MySQL 应该不会太难。

        【讨论】:

          【解决方案4】:

          每天 40-50 次点击量非常小,可以毫无问题地使用 SQLLite。

          MySql 可能会更好,因为它可以更好地处理多重连接(MySql 和 SqlLite 的锁不一样)。

          【讨论】:

            【解决方案5】:

            sqlite 的主要问题是并发性。如果您预计每天有 40-50 次点击,那可能不是问题。但是,如果负载增加,您应该准备好迁移到 MySQL 等数据库守护程序 - 更好地抽象您的数据库特定代码,以尽可能轻松地进行此类切换。

            SQLite wiki 的 performance section 可能对您有用。

            【讨论】:

              猜你喜欢
              • 2011-04-21
              • 1970-01-01
              • 2011-09-07
              • 1970-01-01
              • 2011-05-04
              • 1970-01-01
              • 2017-03-09
              • 1970-01-01
              • 2010-10-12
              相关资源
              最近更新 更多