WEB开发网
开发学院数据库MySQL 浅谈SQLite——查询处理及优化 阅读

浅谈SQLite——查询处理及优化

 2010-06-25 00:00:00 来源:WEB开发网   
核心提示: 它主要就是将之前得到的各个子语法树汇总到Select结构体,并根据该结构,浅谈SQLite——查询处理及优化(3),进行接下来语义分析及生成执行计划等工作,来看个例子

它主要就是将之前得到的各个子语法树汇总到Select结构体,并根据该结构,进行接下来语义分析及生成执行计划等工作。

来看个例子,这个例子贯穿于全文:

 1 explain select s.sname,c.cname,sc.grade from students s join sc join course c on s.sid=sc.sid and sc.cid = c.cid;
 2 0|Trace|0|0|0||00|
 3 1|Goto|0|35|0||00|
 4 //////////////////////////(1)////////////////////////////
 5 2|OpenRead|0|3|0|2|00|students #打开students表
 6 3|OpenRead|1|7|0|3|00|sc  #打开sc表
 7 4|OpenRead|3|8|0|keyinfo(2,BINARY,BINARY)|00|sqlite_autoindex_sc_1 #sc的索引
 8 5|OpenRead|2|5|0|2|00|course #course表
 9 6|OpenRead|4|6|0|keyinfo(1,BINARY)|00|sqlite_autoindex_course_1 #course的索引
10 //////////////////////////(2)//////////////////////////////
11 7|Rewind|0|29|0||00| #将游标p0定位到students表的第一条记录
12 8|Column|0|0|1||00|students.sid #取出第0列,写到r1
13 9|IsNull|1|28|0||00|
14 10|Affinity|1|1|0|d|00|
15 11|SeekGe|3|28|1|1|00| #将游标p3定位到sc索引的>=r1的记录处
16 12|IdxGE|3|28|1|1|01|
17 13|IdxRowid|3|2|0||00|
18 14|Seek|1|2|0||00|
19 15|Column|3|1|3||00|sc.cid #读取sc.cid到r3
20 16|IsNull|3|27|0||00|
21 17|Affinity|3|1|0|d|00|
22 18|SeekGe|4|27|3|1|00| #将游标p4定位到course索引的>=r3的记录处
23 19|IdxGE|4|27|3|1|01|
24 20|IdxRowid|4|4|0||00|
25 21|Seek|2|4|0||00|
26 ///////////////////////////(3)//////////////////////////////
27 22|Column|0|1|5||00|students.sname #从游标p0取出第1列 (sname)
28 23|Column|2|1|6||00|course.cname #从游标p2取出第1列 (cname)
29 24|Column|1|2|7||00|sc.grade #从游标p1取出第2列(grade)
30 25|ResultRow|5|3|0||00|
31 ///////////////////////////(4)///////////////////////////////
32 26|Next|4|19|0||00|
33 27|Next|3|12|0||00|
34 28|Next|0|8|0||01|
35 29|Close|0|0|0||00|
36 30|Close|1|0|0||00|
37 31|Close|3|0|0||00|
38 32|Close|2|0|0||00|
39 33|Close|4|0|0||00|
40 //////////////////////////(5)//////////////////////////////////
41 34|Halt|0|0|0||00|
42 35|Transaction|0|0|0||00|
43 36|VerifyCookie|0|7|0||00|
44 37|TableLock|0|3|0|students|00|
45 38|TableLock|0|7|0|sc|00|
46 39|TableLock|0|5|0|course|00|
47 40|Goto|0|2|0||00|
48 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:SQLite 查询处 理及

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接