做个实验,想了解SQLite3索引对整数比较的性能影响。
用这个测试表,考查绿色那列:
| id | name | date |
|
自增型主键 |
字符串型,随机生成 |
整数型 随机生成,范围0到54354354 |
| 1 | bMzLiLzx2fBLUfBfFj29 | 43232244 |
| 2 | ofFzjPmQ5Pj82mHLm7yI | 18243324 |
| 3 | ... | ... |
分别测试以下两种情况:
各插入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 子句的性能有较大影响。
原文:http://www.cnblogs.com/animalize/p/5750135.html