3

我刚刚学习 SQL/SQLite,并计划将 SQLite 3 用于我正在构建的新网站。它正在取代 XML,所以并发性不是一个大问题。但我想用我正在使用的技术使其尽可能高性能。使用多个数据库来提高性能是否有任何好处,或者将站点的所有数据保存在一个文件中是最佳性能?我问是因为 99% 的数据在 99% 的时间里都是只读的,但最后 1% 的数据将在 99% 的时间里被写入。我知道数据库不会为每一个微小的变化读入并重写整个文件,但我想我想知道如果数据进入一个单独的 5KB 数据库,而不是一部分,写入是否会快得多~ 250MB 主数据库。

4

3 回答 3

2

通过适当的性能调整,sqlite每秒可以执行大约 63 300 次插入。除非您计划进行一些非常大的容量,否则我会避免预先优化。拆分成两个数据库对我来说感觉不对,如果你打算在未来进行连接,你会被淹没。特别是因为你说并发不是一个大问题,我会避免使数据库设计复杂化。

于 2013-10-18T20:17:46.430 回答
1

实际上,如果有 50 000 个数据库,性能会很差

您应该在单个数据库中尝试多个表,有时它确实可以加快速度,但是由于初始任务的描述非常笼统 - 很难准确地说出您需要什么,尝试单个表和多个表 - 测量速度

于 2013-10-17T00:49:40.027 回答
0

不要创建新数据库

对于来自其他 RDBMS 系统的人来说,这是一个巨大的思维变化。

考虑使用 SQLite 作为应用程序文件格式的情况。每次在应用程序中首次保存新项目(文件)时,都需要一个新的数据库实例。

您可以创建一个新数据库,并执行一系列 SQL 语句来添加适当的表和索引。

如果您正在使用(例如)PostgreSQL 构建可部署的应用程序,这就是您想要做的——您将编写代码来设置数据库并让它在安装时运行。

但是有一个更快的方法。

由于 SQLite 数据库是一个离散文件,因此克隆数据库相对简单——它只是复制一个文件。这意味着通常不需要创建新数据库然后执行所需的所有 SQL 语句。通常,您只需复制一份即可。

来源:https ://www.whoishostingthis.com/compare/sqlite/optimize/

于 2020-11-04T03:24:48.323 回答