记录数量对性能有影响吗

Ann*_* K. 3 database sqlite performance

数据库中的记录数会影响选择查询的速度吗?

我的意思是,如果一个数据库有 50 条记录,另一个数据库有 500 万条记录,那么第二个数据库的选择会更慢吗?假设我将所有索引都放在正确的位置

Pau*_*ulL 8

是的,但不一定是很大的处罚。

在最基本的层面上,索引是 B 树。性能与 B 树中的级别数量有些相关,因此 5 条记录的数据库大约有 2 个级别,500 万条记录的数据库大约有 22 个级别。但它是二进制的,因此 1000 万行数据库有 23 个级别,实际上,索引访问时间通常不是性能调优的问题 - 通常的问题是表没有正确索引。

正如 odedsh 所指出的,缓存也是一个很大的贡献者,小型数据库将得到很好的缓存。Sqlite 按主键顺序存储记录,因此选择一个允许经常一起使用的记录存储在一起的主键可能会带来很大的好处。