做个实验,想了解SQLite3索引对整数排序的性能影响。

 

用这个测试表,考查绿色那列:

id name date

自增型主键

字符串型,随机生成

整数型

随机生成,范围0到54354354

1 bMzLiLzx2fBLUfBfFj29 43232244
2 ofFzjPmQ5Pj82mHLm7yI 18243324
3 ... ...

 

分别测试以下两种情况:

  1. date列有索引
  2. date列无索引

各插入100万条随机数据,然后执行10次这条SQL查询语句:

1 SELECT * FROM test_tbl
2         WHERE date BETWEEN 20000000 AND 30000000
3         ORDER BY date DESC;

 

结果:

  date有索引 date无索引
插入100万数据的时间 22.35秒 20.77秒
查询10次的时间 0.0001442秒 1.5538秒

去掉第3行SQL语句,

查询10次的时间

0.0001146秒 0.0001451秒

 

可见,索引对 ORDER BY date DESC 子句的性能有较大影响,如果没有这个子句则区别不大。

 

测试于SQLite 3.8.11,64位,Windows 10。

相关文章:

  • 2021-10-17
  • 2022-12-23
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2021-08-27
  • 2021-07-06
  • 2022-02-08
  • 2022-12-23
  • 2021-08-12
相关资源
相似解决方案