sqlite - 单个 SQLite 数据库的多个文件

标签 sqlite

Afaik,SQLite 将单个数据库存储在单个文件中。由于这会降低处理大型数据库时的性能,是否可以明确告诉 SQLite 不要将整个数据库存储在单个文件中,而是将不同的表存储在不同的文件中?

最佳答案

我发现,它可能的。

使用:

sqlite3.exe 主数据库

ATTACH DATABASE 'SomeTableFile.db' AS stf;

从其他数据库文件访问表:

SELECT * FROM stf.SomeTable;

您甚至可以连接多个文件:

SELECT *
FROM MainTable mt
JOIN stf.SomeTable st
ON (mt.id = st.mt_id);

https://www.sqlite.org/lang_attach.html

tameera 说有 62 个附加数据库的限制,但我从未达到该限制,所以我无法确认。

除了某些特殊情况外,最大的优点是您可以限制数据库文件中的碎片,并且可以在每个表上单独使用 VACUUM 命令!

关于sqlite - 单个 SQLite 数据库的多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410011/

相关文章:

python - 将聊天记录存储在关系数据库中

python - 改变表 Sqlite : how to check if a column exists before alter the table?

sql - 什么是对 SQLite 数据库(仅模式)进行版本控制的好方法(或工具)?

Android 在应用程序中添加自定义搜索栏

android - SQLite: No Such Table Error Android P问题

sqlite - 如何在 sqlite 中使用 ROW_NUMBER

android - 无法从使用 count() 的 sqlite 查询中检索结果

python - 测试的 SQL 脚本上的 SQLite3 语法错误

iphone - 如何在sqlite表中使用substr作为逗号分隔值

sqlite - 使用 Homebrew 安装 SOUNDEX for SQLite