内部临时表

内部临时表

  • 和sort buffer,join buffer一样,都用来存放语句执行过程中的中间数据,辅助语句的执行。
  • 使用用法 using temporary。
使用场景
  • 数据一边查询,一边直接得到结果,不需要额外内存。比如:group by 需要计算。

  • join_buffer 是无序数组(单字段,可以重复),sort_buffer 有序数组,内部临时表是二维结构

  • 用到二维表的特性需要用到内部临时表,比如 distinct ,group by

优化
  • group by 字段加索引

  • 扩大临时表内存大小

  • 如果数据量比较大,直接使用磁盘临时表

  • 如果分组之后,不需要排序,手工 order by null

group by 的顺序
  • 创建一个内部临时表,初始化字段 a(分组字段) b(数量)

  • 扫描表,一个个的判断,a字段值在临时表不存在,则插入(2,1),如果存在,比如(2,1),则加1,成为(2,2)

  • 分组之后,默认会进行排序,如果不需要顺序,用 order by null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值