没有合适的资源?快使用搜索试试~ 我知道了~
表的连接方及表的访问顺序对索引影响很大。在一个连接查询中有两类谓词:本地谓词和连接谓词(重要的是把本地谓词设置索引)。只用于访问一张表的谓词称为本地谓词,定义了表和表之间的连接关系的谓词称为连接谓词。连接谓词大部分是基于主键=外键这一条件,这是是最快的连接方式了。有三种扫描方式: 循环嵌套:首先在外层表中找到一行满足本地谓词的记录,然后再从内层表中查找与这一行数据相关的记录,并检其中哪些符合内层表的本地谓词体件。 合并扫描:以临时表的方式替代回表随机读; 哈希连接:哈希连接本质上是用哈希算法代替排序算法的合并扫描连接,加快了排序过程;
资源推荐
资源详情
资源评论
连接查询原理
循环嵌套连接
表访问顺序对索引设计的影响
预测表的访问顺序
合并扫描
哈希扫描
多索引访问
索引与
索引或
索引连接
设计时注意事项
为⼦查询设计索引
为UNION语句设计索引
冗余数据
索引设计总结
通⽤⽅法
步骤
连接查询原理
表的连接⽅及表的访问顺序对索引影响很⼤。在⼀个连接查询中有两类谓词:本地谓词和连接谓词(重要的是把本地谓词设置索
引)。只⽤于访问⼀张表的谓词称为本地谓词,定义了表和表之间的连接关系的谓词称为连接谓词。连接谓词⼤部分是基于主键=外键
这⼀条件,这是是最快的连接⽅式了。有三种扫描⽅式:
循环嵌套:⾸先在外层表中找到⼀⾏满⾜本地谓词的记录,然后再从内层表中查找与这⼀⾏数据相关的记录,并检其中哪些符
合内层表的本地谓词体件。
合并扫描:以临时表的⽅式替代回表随机读;
哈希连接:哈希连接本质上是⽤哈希算法代替排序算法的合并扫描连接,加快了排序过程;
循环嵌套连接
1 //查询20条数据
2 select)cname,)ctype,)ino,)ieur)from)cust,)invoice)where)cust.cno)=?)and)cust.cno)=)invoice.cno
简单估算下时间:
1 索引CNO)TR=1
2 表CUST))TR=1)
3 索引CNO)TR=1)TS=20
4 表INVOIC)TR=20
5 LRT)23*10MS+0.2+0.2=232MS
这个例⼦中CUST是外层表,INVOICE是内层表,处理过程⼤概是第⼀步,在CUST表上使⽤主键进⾏查询:第⼆步,在第⼆个
资源评论
korgs
- 粉丝: 6752
- 资源: 106
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功