Malay
颜色选择
阳光橙
深夜黑
天空蓝
葡萄紫
薄荷绿
深海蓝
首页
论坛
佳礼报道
新闻
搜索
2506
查看
4
回复

[求助] 关于 MSSQL Query Cost

[复制链接]

楼主: nick_khor       显示全部楼层   阅读模式

楼主
发表于 9-11-2015 10:44 AM | 显示全部楼层 |阅读模式
本帖最后由 nick_khor 于 9-11-2015 10:48 AM 编辑

小弟我最近开始接触 MSSQL,在一个偶然下 发现了 execution plan 这个咚咚 ,然后有些疑问像请教。
我做了个试验,同时跑了以下两个 query

结果出来是第一个 query 的 cost 比较高。




我不明白的是,为什么 operator 的方式 sh.SOTypeID = 'RN' 的 cost 会比 wildcard 的 sh.ShipperID like '[R][N][0-9]%'  来的高呢?

我不熟 query cost 的算法,而我只是会一些简单的 join 而已。希望有前辈能指点迷津。
回复

使用道具 举报

发表于 12-11-2015 04:06 PM | 显示全部楼层
這是partitioned table?


以我不專業的看法,應該是
  1. SOTypeID = ’RN'
复制代码
在兩個table有result,而多了個join的step

而那個
  1. ShipperID LIKE '[R][N][0-9]%'
复制代码
只在一個table有result,就直接得多


如果要比較,用同個field+return一樣result的會比較好

评分

参与人数 2积分 +10 人气 +10 收起 理由
musicalangel + 10 + 5 感谢回答
moot + 5 谢谢分享

查看全部评分

回复

使用道具 举报

发表于 12-11-2015 11:29 PM | 显示全部楼层
本帖最后由 gkheng2003 于 12-11-2015 11:30 PM 编辑

就如楼上讲的最后一句:

apple = apple
orange = orange

apple != orange
回复

使用道具 举报

发表于 18-11-2015 04:22 AM | 显示全部楼层
你自己已经highlight 了那20% cost 的部分。

第一图,多出来个 SOShipHeader.ShipperShipHeader16

@zaqre  指出这可能是partitioned table , 又加上这是 unsorted clustered index , 结果导致多出来个Inner join.




回复

使用道具 举报

发表于 26-11-2015 10:44 PM | 显示全部楼层
partition table 很多时候是看如何Partition 的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 | 登入

本版积分规则

 WeChat
 CARI App
Get it FREE Google play
 Instagram
cari_malaysia
FOLLOW
- 版权所有 © 1996-2020 Cari Internet Sdn Bhd 佳礼网络有限公司 (483575-W) -
Private Cloud provided by IPSERVERONE
0.171327s Gzip On
快速回复 返回顶部 返回列表