SQLite是一个快速数据库。但“快速”这个词本身是一个主观的和不明确的词。诚实地讲,有些事情SQLite能比其它数据库做得快,也有些事情不能。这么说吧,利用SQLite提供的配置参数,SQLite是足够快速和高效的。跟大多数其它数据库一样,SQLite使用B-tree处理索引,使用B+tree处理表数据。因此,在对单表进行查询时,SQLite要快于(或至少相当于)其它数据库的速度。
在一些情况下SQLite可能不如大型数据库快,但大多数这些情况是可理解的。SQLite是一个内嵌式的数据库,设计用于中小规模的应用程序。这些限制是符合设计目的的。很多新用户错误地假设使用SQLite可以代替大型关系型数据库,这有时行,但有时不行,依赖于你准备用SQLite来做什么。一般情况下,SQLite在三个主要的方面具有局限性:
l 并发。
l 数据库大小。
l 网络。
尽管SQLite做得已经很好了,但仍有部分特性未能实现,包括:
l 外键约束
空注:SQLite的最新版本3.6.19好像已经支持了。
l 完整的触发器支持。
l 完整的ALTER TABLE支持。
l 事务嵌套。
l RIGHT和FULL OUTER JOIN。
l 可修改视图。
l GRANT和REVOKE。