制作多个SQLite数据库以提高性能是否有意义?

时间:2013-10-17 00:46:26

标签: sqlite

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

3 个答案:

答案 0 :(得分:1)

实际上有50 000个数据库,你的表现会非常糟糕

你应该在单个数据库中尝试几个表,有时它真的可以加速某些东西,但是由于初始任务的描述非常普遍 - 很难准确说出你需要的东西,尝试单个表和多个表 - 测量速度

答案 1 :(得分:1)

通过适当的性能调整,sqlite可以在63 300 inserts-per-second左右执行。除非你计划一些非常繁重的音量,否则我会避免预先优化。分成两个数据库对我来说感觉不对,如果你计划将来加入,那么你就会受到冲击。特别是因为你说并发不是一个大问题,我会避免使数据库设计复杂化。

答案 2 :(得分:0)

不创建新数据库

对于来自其他RDBMS的人来说,这是思想上的重大变化 系统。

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

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

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

但是有一种更快的方法。

由于SQLite数据库是离散文件,因此相对来说比较琐碎 克隆数据库-它只是复制文件。这意味着 通常不必创建新数据库然后执行 所有必需的SQL语句。通常,您只需复制一份即可。

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