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/