12
返回列表 发新帖
楼主: w2an2t

腾讯电话面试问ORDER BY 的原理

[复制链接]
论坛徽章:
71
2015年新春福章
日期:2015-03-06 11:57:312013年新春福章
日期:2013-02-25 14:51:24双黄蛋
日期:2013-01-06 13:31:18蜘蛛蛋
日期:2013-01-06 10:26:08茶鸡蛋
日期:2012-11-21 19:35:23ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07版主2段
日期:2012-05-15 15:24:11铁扇公主
日期:2012-02-21 15:02:402012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
11#
发表于 2013-5-22 11:56 | 只看该作者
用户在对Data进行排序的时候,会先在PGA里完成,如果排序Data太多,PGA内存不足,则Oracle会将要排序的data分割成多份,只取一份放在PGA中排序,其他部分都交换到临时表空间中。当PGA中的部分排序完毕后,将排好序的部分数据交换到临时表空间中,同时再从临时表空间中取一份没有排序的数据放到PGA里面进行排序,依此类推,直到将所有数据都排序完毕为止 。

某些session 的pga 大小可以满足排序数据,那么在自己的pga中就可以完成排序,这个称为optimal; 某些session 的 PGA空间不足以容纳这个 session 所有需要排序的数据,那么Oracle会分割这个session中需要排序的数据为多份(分片),按照上面的方式在session的pga和temp中反复排序和临时存放。 最后在temp中做最后一次merge动作, 如果分片数量小于merge宽度(不知道是否是一个隐含参数) ,那么一次merge即可完成,称为 onepass ,  反之如果需要多次merge , 那么是 multipass .  

当系统整体负载不大时,Oracle倾向于为每个session的PGA分配optimal尺寸大小的SQL工作区。
当系统负载升高时,同时执行的SQL越来越多,Oracle就倾向于为每个人session的PGA分配onepass 尺寸大小的SQL工作区, 甚至multipass尺寸的SQL工作区。

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
12#
发表于 2013-6-1 20:01 | 只看该作者
腾讯也招ORACLE DBA?

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
13#
发表于 2013-6-3 19:11 | 只看该作者
本帖最后由 digdeep126 于 2013-6-3 19:12 编辑

hash gruop by / sort group by ??

看错了,是问的order by

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2013-6-6 20:56 | 只看该作者
个人觉得order by的原理不是一句话能说清的, 比如: 排序设计的字段是否建了索引,  索引是那种索引, 表是否为iot, 这些因素可能导致算法不同

使用道具 举报

回复
论坛徽章:
4
鲜花蛋
日期:2011-07-21 16:06:54双黄蛋
日期:2011-09-02 20:36:17ITPUB十周年纪念徽章
日期:2011-11-01 16:26:29奥运会纪念徽章:射箭
日期:2012-07-26 19:04:19
15#
发表于 2013-6-7 22:26 | 只看该作者
哪个BG的面试?没准一起吃过饭哦。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表