mysql查询成本计算【单表】

1.单表的查询成本计算

mysql查询一条sql的成本,包含IO成本和CPU成本。其中IO成本就是我们读取或者处理数据的时候把数据会从磁盘加载到内存中所用的时间;CPU成本就是数据加载到内存后需要读取以及检测数据记录是不是满足你sql中的对应条件,以及要是涉及到排序的时候需要进行排序这些操作的消耗的时间就是cpu成本。

对于innodb来说,其中读取一页所需要成本为1.0;访问一条记录所需要的cpu成本就是0.2,所以成本计算:(IO页数*1.0+微调数)+(记录数*0.2+微调数)


查看mysql的一条sql的查询成本:

set optimizer_trace='enabled=on';

select * from order where order_no in ('202111081535172900000007','202111111612098550000009','202111151738163880000015')

and order_status='4' and company_id > 6 and company_id <=8;

select * from information.optimizer_trace;


SQL: 其中order_no加上了唯一索引,order_status、company_id加上了普通索引。

select * from order where order_no in ('202111081535172900000007','202111111612098550000009','202111151738163880000015')

and company_id > 6 and company_id <=8;

全表扫描:


IO成本: 8*1.0+1.1(微调数,这个是mysql指定的常数)=9.1

(对于全表扫描的需要读取的页数:show table status like 'vouching_order';可以查询出data_length和row的值,分别为131072和292,可以计算出IO页数131072/16/1024=8页)


CPU成本: 292*0.2+1.0(微调数,这个是mysql指定的常数)=59.4

全表扫描的成本:9.1+59.4=68.5


索引unique_order_no(company_id \order_status和这个一样,只是他们都是一个区间范围):


二级索引成本计算

IO成本:3*1.0=3 (不论某个范围区间有多少个页面,因为二级索引是连续的,顺序IO特别快,一个区间内的顺序IO就相当于一个页的IO操作,所以对于IN来说,三个值相当于3个范围区间的查找,即相当于3个页面的查找)

CPU成本:3*0.2+0.01(微调数)=0.61

回表成本计算

IO成本:3*1.0=3 (对于回表操作来说,加载记录相当于随机IO,所以读取一条记录就相当于读取一页的操作)

CPU成本:3*0.2=0.6

成本:3+0.61+3+0.6=7.21  但是实际上和全表扫描比较成本的时候使用索引的成本会减去读取并检测回表后聚簇索引记录的CPU成本,所以实际上3+0.61+3=6.61,如果比较完成,会再计算一次使用索引的成本,这时就会加上减去的成本了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容