我正在寻找带有C ++接口的主内存数据库。我正在寻找一个带有编程查询接口的数据库,最好是一个使用本机C ++类型的数据库。例如,SQLLite将查询作为字符串并需要执行解析...这非常耗时。我正在寻找的业务是:
答案 0 :(得分:1)
SQLite的解析时间并不是那么多(您可以通过许多查询分摊它),除非您手动将值替换为SQL查询。用手代替是艰苦的工作,笨拙,缓慢,也可能是不安全的。相反,您应该使用绑定参数,以便您可以更直接地执行操作(有关相关API,请参阅http://www.sqlite.org/c3ref/bind_blob.html)。
请注意,如果切换到其他数据库,则会出现同样的问题;通过使用绑定参数,您只能从任何 SQL系统中获得高速。 (并且考虑不要过多地夸大性能;它存储的位是瓶颈......)
答案 1 :(得分:0)
答案 2 :(得分:0)
BerkeleyDB(现在由Oracle拥有)可以将数据完全存储在内存中(尽管它最初是为磁盘存储而设计的)。 TimesTen(现在也归Oracle所有)从一开始就设计用于内存存储。它们都支持SQL和从C,C ++等直接访问的API。