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