我最近听说SQLite旨在取代fopen()(1,2),因此在某些情况下通过使用SQLite而不是从磁盘读取或写入文件更快fopen()函数。谁能解释一下可能导致什么呢?我假设SQLite不使用RAM。
答案 0 :(得分:2)
我认为你并没有完全“理解”理查德·希普在这句话中的意思。当然,在引擎盖下,SQLite也将使用fopen(3)
系统调用,因此它不能更快。但是,不是打开原始文件(例如使用fopen
)并实现自己的结构和访问功能(因此最终在某个时候实现NIH DB),最好只使用已经使用的SQLite API优化为死亡,因此可能比你在合理的时间内提出的任何事情都要快。
当然,这只适用于持久化数据结构具有一定复杂性的情况。对于像文本文件这样的简单文件,您最好使用fopen
。