我使用 stl 已经有一段时间了,但我刚刚开始了解 sql。
可以使用 stl/boost 容器和算法模拟 sql 功能吗?如果没有,限制从哪里开始?
例如,我可以通过简单地使用std::vector<std::unordered_map<std::string>>
甚至更好地使用 boost 多索引来创建数据库。
然后,可以用算法模仿sql操作:
- 哪里——std::copy_if
- 加入——std::set_union
可以使用惰性评估来优化查询。
我确实知道 sql 不在 ram 中。但如果数据库不是那么大,这并不重要。另外,还有stxxl。
所以我的问题主要是关于你什么时候停止使用stl/boost并切换到sql?