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