![在SQLite中使用索引优化查询速度,第1张 在SQLite中使用索引优化查询速度,第1张](/aiimages/%E5%9C%A8SQLite%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%B4%A2%E5%BC%95%E4%BC%98%E5%8C%96%E6%9F%A5%E8%AF%A2%E9%80%9F%E5%BA%A6.png)
概述在SQLite中使用
索引优化查询
速度 作者:tamsyn 来源:www.sqlite.com.cn 时间:2006-12-11 在进行多个表联合查询的时候,使用索引可以显著的提高速度,刚才用SQLite做了一下测试。 建立三个表: create table t1 (id integer primary key, num integer not null, word1 text not nu
在sqlite中使用索引优化查询速度 |
|
作者:tamsyn 来源:www.sqlite.com.cn 时间:2006-12-11 |
|
|
|
在进行多个表联合查询的时候,使用索引可以显著的提高速度,刚才用sqlite做了一下测试。 建立三个表: create table t1 (ID integer primary key, num integer not null, word1 text not null, word2 text not null); create table t2 (ID integer primary key, word2 text not null); create table t3 (ID integer primary key, word2 text not null); 建立若干索引: t1表:在num,word1,word2上有复合索引 t2表:在num,word1,word2上各有一个索引 t3表:在word1上有一个索引 create index IDxT1 on t1(num,word1,word2); create index IDxT2Num on t2(num); create index IDxT2Word1 on t2(word1); create index IDxT2Word2 on t2(word2); create index IDxT3Word1 on t2(word1); 向三个表中各插入10000行数据,其中num项为随机数字,word1和word2中是英文单词,三个表中对应的num,word1和word2列中都包含有部分相同值,但是它们在表中出现的顺序不同。 速度测试结果: 1) select count(*) from t1,t3 where t1.word2=t3.word2; 很慢(t3.word2上没有索引) 2) select count(*) from t3,t1 where t1.word2=t3.word2; 很慢(t1.word2上没有独立索引) 3) select count(*) from t1,t2 where t1.word2=t2.word2; 很快(t2.word2上有索引) 4) select count(*) from t2,t1 where t1.word2=t2.word2; 很慢(t1.word2上没有独立索引) 5) select count(*) from t1,t2 where t1.num=t2.num; 很快(t2.num上有索引) 6) select count(*) from t2,t1 where t1.num=t2.num; 很快(t1的复合索引中,第一个列是num) 7) select count(*) from t1,t3 where t1.num=t3.num; 很慢(t3.num上没有索引) 8) select count(*) from t3,t1 where t1.num=t3.num; 很快(t1的复合索引中,第一个列是num) 结 论:在from子句后面的两个表中,如果第2个表中要查询的列里面带有索引,这个查询的速度就快,反之就慢。比如第三个查询,from后面的第2个表是 t2,t2在word2上有索引,所以这个查询就快,当输入sql命令并回车后,查询结果就立即显示出来了,但是如果使用第4个查询命令(即把t1和t2 的位置互换),查询起来却用了1分零6秒。 可见索引的建立对于提高数据库查询的速度是非常重要的。 更多关于sqlite查询优化的知识可以参考《Chris Newman》写的《sqlite》一书的第四章:《query Optimization》 | |
总结
以上是内存溢出为你收集整理的在SQLite中使用索引优化查询速度全部内容,希望文章能够帮你解决在SQLite中使用索引优化查询速度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)