gpt4 book ai didi

performance - 修改大型文件时,SQLite如何这么快?

转载 作者:行者123 更新时间:2023-12-03 18:44:45 24 4
gpt4 key购买 nike

因此,我一直在使用一个2GB的SQLite数据库文件,而对于如何修改数据库数据的性能我真的很好奇。如果我插入,更新或删除某些数据,则数据将在大约0.5秒内保存到数据库文件中-到(机械)硬盘上的2GB文件中!

我一直以为要在文件中插入一个字节,就需要移动所有后续字节,但是对于如此大的文件,我的HDD不能以0.5s的速度达到此速度。

有人知道SQLite如何实现这种黑魔法的壮举吗?

最佳答案

那不是它的工作原理。 file format详细记录在案,但总而言之,通常将新行添加到表中,无论如何,数据库文件中的页面都可以随机排列。 (有趣的是数据库如何设法查找和读取数据。)

0.5 s的大部分时间是事务开销(将数据强制到磁盘,并等待写入完成)。您可以通过启用WAL modedisabling the rollback journal completely来减少此情况。

关于performance - 修改大型文件时,SQLite如何这么快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com