oracle 3张大表, a表3千万数据,b表10亿,c表50亿. 有没有优化比较好的网游优化方式?

BI学习报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
BI学习报告
上传于||文档简介
&&个​人​针​对​商​业​智​能​的​学​习​心​得
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢你心中的系统架构师是什么样子?你的职业生涯中是否遇到过困惑?你想得到哪方面的职业规划指引与帮助?……[]
[font=微软雅黑][color=#000]
非常感谢大家积极参与我们之前发起的话题——[url=http://www.itpub.net/thread--1.html]【大话IT】X86与POWER攻守之间:谁会是未来IT基石?[/url][/color][/font][font=微软雅黑]
由于委外采购订单行项目的BOM有更改的可能,需获取(修改前/后)该BOM清单,初步尝试做了一点增强(ME_PROCESS_PO_CUST),发现有个方法GET_BOM()怎么也读取不到BOM清单,DEBUG方法GET_BOM()看到条件语句进不去,觉得奇怪,希望论坛哪位朋友能指点一二,感谢。
如下是代码截图:
windows2003+oracle9205
无法删除物化视图。如何处理?!多谢!
OBJECT_NAME
“大众创业、万众创新”成为中国的国家战略之后,国内掀起了创业创新的风潮。然而,对于互联网创业企业而言,除了产品的正常开发,运维架构的设计是保障企业高速高效工作的前提。
大规模定制,目的是希望小批量生产也能达到大规模生产的效率和成本的水平 那么,怎么才能实现呢?原理早就有了,就是很早前就有的“成组技术”和当今的计算机软件技...
g4as8040:d0claim > expdp chsdata/paic1234 parfile=par.par
Export: Release 11.2.0.3.0 - Production on Tue Apr 26 09:37:36 2016
Copyright (c) , Oracle...
expdp chsdata/paic1234 parfile=par.par
Export: Release 11.2.0.3.0 - Production o...}">
打开excel就可以玩的三只牛蛙的换位游戏,我真是闲的蛋疼,想用SQL破解,不过写的匆忙,已经不追求好看了。
我的代码如下,大家可以继续玩。
专访魅族首席DBA:深聊DBA们的职场进阶之路
有一个SQL的执行计划是这样的:
文本格式比较乱,可以看图片
是否被每天被无数的代码冲昏头脑。
生活是否缺乏激情?
是否想有所改变?
做为程序猿的你
一定拥有不凡的思考与创新能力,
工作之余也一定有着许多业余爱好,
[i=s] 本帖最后由 xiao__y 于
12:21 编辑 [/i]
[align=center][b]前言[/b][/align]
本期我们邀请中亦科技的另外一位Oracle专家老K来给大家分享systemstate dump分析的经典案例。后续我们还会有更多技术专家带来更多诚意分享。...
mfOracle有冉ê(DBMS_UTILITY.UNCL_ARRAY)可以字串D一S列
,但函迪拗坪芏(ex:第一a不可底帧⒅荒芏禾^隔、有些特殊符o法解析...等)
故可以用下列SQL碜孕凶执?D列。以下解:
SELECT SRTING_VALUE
FROM (SELECT SUBSTR (T.CA, ...
开发应用程序是一个非常有压力的工作。没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象。面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉着。因此...
[i=s] 本帖最后由 xiao__y 于
11:34 编辑 [/i]
[align=center][b]前言[/b][/align]不知不觉,技术人生系列·我和数据中心的故事来到了第四期。小y又和大家见面了!
当您看到业务系统压测呈现以下波浪形的tps曲线时,你会怎么下手?
这是小弟第一篇文章,写得不好请见谅。
目前市面上有不少Oracle databasae数据库同步的软件,普遍分2类,Oracle原厂的(OGG), 开源免费的(SymmetricDS)。原厂的原理是读取redo+archive log,SDS主要是通过Trigger做同步。实际测试的结果,感觉很臃肿,...
这个礼拜开发工作量不是很大,就对系统内一个运行很慢的SQL语句进行优化,该SQL是ERP系统内一个报警Alert调用,发送相关的数据给用户进行报警提示。前提先说明下,我不是DBA,平时做的是EBS的开发,空的时候捣鼓下系统里运行缓慢的一些SQL。虽然我的方法比...
小y最近处理了几起Oracle数据库文件损坏的case,因为某些Bug风险较大,因此不敢有丝毫怠慢,赶紧拿出来分享!希望能够帮助到有需要的朋友!
日前,狗血剧情再次上演,知乎大V童谣诈骗事件在网络上闹得沸沸扬扬,震惊之余,有网友扒出这个有着6万粉丝、被称为知乎女神的大V@童瑶竟然是一名“抠脚大汉”。而更让人难以接受的是,他一...
数据库运维管理是个技术活儿,对DBA的要求也很高,不仅需要DBA有专业的技术能力,拥有非凡的耐心,还需要需要强健的体格。
作为一名DBA,在从业的时间里,一定遇到过许多难搞的案子或是奇葩的经历,我们不妨也一起坐下聊一聊!顺便做点学术探讨!
相当于把[6,7,4]的棋盘竖立起来,每个棋子都会掉到底。
游戏介绍:
https://en.wikipedia.org/wiki/Connect_Four
SQL肯定弄不出这么大的棋盘,要不从[4,4,3]开始?
大家好,有这样一个字符串
2,5,15,20,24|5,8;6,15,20,22,27|4,6
如何把其中的小于9的数字前面加个0, 变成02,05,15,20,24|05,08;06,15,20,22,27|04,06 这样格式的?
有如下查询,不加hint时,优化器自己选择的执行计划是走全表扫描,花费时间很长,
但加hint强制让大表走skip index时间很短,根据传统的理解,引导列上重复出现的值越少
走skip index的可能越大.但本查询中引导列的重复值也不多,且强制使用skip index后花费的时...
附加题M,N,K的情况复杂得多,如果沿用原来的思路,中间的游戏树十分庞大,就连4,4,3的结果也要跑40分钟才能出来。
我做了两项优化,先简单说明一下优化思路:
1. 原来3X3的游戏树中保留了前后棋局的对应关系,由于一种棋局可以由多种变化而来,每个棋局就会有多行记录。而实际上第二题的答案仅和当前棋局相关,和上手棋...
《英雄联盟》开发商Riot Games通过官方博客发表声明称,其大股东腾讯收购了公司剩余股份,腾讯实现了对这家公司100%控股。Riot Games还在博客中表示,因为这次收购,过去的股权激励...
非常好奇,大家是怎么用sql解决极大极小算法的,我抛个砖。。。。。
我是用model硬算的。
11g的数据库,9个redo文件,每个300MB,频繁的时候差不多1分钟切好几个,不频繁的时候5分钟切一个,怎么查出归档频繁切换的原因呢,谢谢大家
当前市场发展瞬息万变,业界有句话就是“目前技术领先半年,相当于领先别人一个世纪”,硬盘市场的变革也已进入剧变期。随着SSD收购的不断加速,老牌厂商对于SSD的快速融合,如果加速SSD的产品...
最近,浙商银行、中信银行、上海银行等多家银行陆续推出“网银转账免费”的新政策。加上9月份就已经开始实行“免单”的招商银行,进入转账免费时代的银行可以说是越来越多。虽然这个名单涉及了不少银行,但如果仔细看会发现...
大家好,本期的《ITPUB名人堂》很荣幸的邀请到了Oracle开发大师苏旭晖先生,也就是我们熟悉的newkid。说起newkid,在ITPUB可以说是备受大家推崇。那么这次访谈他又给我们带来了哪些内容和惊喜呢?
很长时间没空儿写东西了,把工作记录整理下,敬请批评指正pdf版整理后再贴出来:
01-双节点杀circdata用户
02-导出表且原表改名
03-建分区表且克隆原数据
04-创建索引与约束
移动互联网的火爆,衍生出了许多新兴的职业,比如:个人开发者,自媒体等等。还出现了许多所谓的互联网思维,反正就是带来了许多让人无法理解或者可以轻松赚钱的渠道。坛子里的程序员童鞋们,一起来谈谈如何赚钱吧!
为了保护自身利益,传统存储厂商对其所开发的产品大多采用的都是封闭授权的模式。毕竟好东西当然留给自己人用,肥水怎能落入外人田?然而,在各式开源软件应用大行其道的今天,产品的采用率要够高...
今年7月国家出台了《关于积极推进“互联网+”行动的指导意见》。同期,十部委联合印发《关于促进互联网金融健康发展的指导意见》也进一步明确,以银行为主体,联合互联网公司...
兔子的SQL优化方法论
如果再举办一次SQL比赛你是否会参加?
调查一下看有多少人感兴趣。
自14年起,PC端互联网已日趋饱和,但是移动版互联网却喷井而出,日渐成熟。在4G的带动下,手机也似乎发展成人体的另一“器官”。不论从地铁,公交,甚至过马路,都会看到很多人看手机。
一张表,表结构如下,object_id字段上建立了一个普通索引,object_id=100的记录大约为表总行数的1%
去年11月12日零点,经过网民24小时疯狂扫货,天猫双十一交易额突破571亿元,其中移动交易额达到243亿元,物流订单2.78亿,总共有217个国家和地区被点亮。新的网上零售交易纪录诞生。
应用交付、数据传输、互联网以及内网通信产生了大量的数据交互方式,随之而来的安全需求也在与日俱增。通信安全、交易安全、网络资源安全已经成为传统金融、电信等行业信息化改革中的最大阻力,互联网行业更是首当其冲。如何保证传输过程中的机密性和完整性成为数据交互过程中最为重要的问题,IT168企业安全频道本期选题将围绕数据安全以及...
阿里近期公布Q3财报,云服务表现抢眼,引起业内一致关注。在亚马逊前期的财报中,云服务也以优异的成绩出现在了财报端。一票公有云服务商都在晒业绩,大片的公有云服务实现盈利,有业内...
月底,IT业界传出重磅新闻,紫光股份投资38亿美元(约合人民币240亿)入股西部数据,成为其第一大股东。为了完成收购,紫光在16号晚间宣布向银行等金融机构申请贷款260亿。
今天女儿三年级试卷上有个数学题:
一个五位数字ABCDE*4=EDCBA,这五个数字不重复
一下子想不到用什么sql把它算出来, 正在想...
日,浪潮将在北京召开\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...
情况:机房断电
linux服务器上的oracle启动不起来了,误删除system01.dbf文件,
求教:里面的数据还能不能迁出来吗?
在这个拿钱说话的年代,人人都希望有花不完的钱,更有人希望一夜暴富 ,这也不是不可能,彩票就可以满足人们这一愿望,一张彩票几元钱,最多几十元,就可能会中几百万甚至更多的大奖,可能在你买完一张彩票中奖之后,你的人生就发生了重大改变,这就是彩票火热的原因。马云曾经说过,懒人改变世界。曾经还需要跑到离家里或者最近的彩票售卖点才...
有钱就是任性!近日马云以38888元拍下巨型金枪鱼,如此大手笔的买卖确是花的物有所值。不仅借此作为犒劳阿里员工一年的辛苦回报,而且也正式开启了阿里未来10年服务全球20亿消费者...
在大数据和云计算影响下,IT架构变革,数据库类型及存在方式较以前相比有了很大变化,传统数据库已经无法满足用户需求。面对市场压力和业务数据量日益增长且结构多样化的挑战,很多数据库厂...
最近发现一个问题,如果在join on后面的条件中加入一段or的条件,执行计划就只能走nested loop,甚至加入Hint都是不允许的。实验情况如下:
美国时间日,Google对外宣布将向用户免费提供Google Earth Pro版本,此前该版本的收费为每年399美元。同时,美国时间日,Google向Google Maps Engine的用户发送邮件,声称...
10月8日注定是个不平凡的日子,祖国母亲的生日结束了,“苦逼”的上班生活开始了,黄晓明和杨颖喜结连理,就连美团大众也抱在一起了。在这个风起云涌的星期四里,着实是大虐单身狗一把,也完美的诠...
亲爱的ITPUB会员们:
[b][size=2][color=#ff中国系统架构师大会已正式起航,这是我们推出架构师大会的第八个年头,欢迎大家关注并报名参与![/color][/size][/b]
[size=2]大会官网地址:[url=/]htt...
[font=微软雅黑][size=3][color=#666666]作者 [/color][color=rgb(40, 106, 178)][b][url=q.com/cn/author/%E5%BC%A0%E9%80%B8]张逸[/url][/b][/color][color=#6666...
三个ASM实例 +ASM1 +ASM2 +ASM3
concrs status res -t
作为一个dba,我们负责的东西很多,但是真正做的比较多的问题其实也就name几样。巡检是我们最多的工作,目前用监控可以减少工作量。
本文主要讲解从 DB2 v9.7 PHSDB 库迁移到 K-DB11G 最佳实践,迁移数据库名为PHSDB,数据库架构为单机。首先在目标主机上安装 K-DB11g 软件,并创 PHSDB 库, 具体安装过程请参考管理手册。本次迁移范围包括数据库对象和数据两部分,以下分两部分别进行介绍。
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。
每两周的优胜者可获得itpub奖励的技术图书一本。
在一系列的数据行中辨识出某种模式是一种广泛需求的功能,但在以前的SQL中是不可能的。有许多解决方法,但这些都很难写,很难理解,而且执行效率低下。在Oracle数据库中,从12c开始,你可以...
这几天,关于AlphaGo VS 李世石围棋大战的报道可谓是铺天盖地,似乎每天没有点关于人机大战的报道、技术解析、预测等等,就好像缺了点什么……这不,趁着结局已定,结果未定的空档,小编也来凑凑热闹,跟大家一起聊聊,面对AlphaGo,我们到底是输了还是赢了?
会话阻塞排查测试
另开一个会话
另开会话排错
[oracle@T9DB02 ~]$ awk -f ass109.awk /u01/app/oracle/diag/rdbms/bap/BAP_1/trace/BAP_1_ora_15119.trc
Starting Systemstate 1
..........
[i=s] 本帖最后由 xiao__y 于
18:27 编辑 [/i]
[align=center][b]前言[/b][/align]
时间过的真快,技术人生系列·我和数据中心的故事已经来到了第六期,小y又和大家见面了!
小y今天要和大家分享的是一个综合型问题的的分析和解决过程。
应K而生,一键K启动 ,技术竞演由此展开:
K-DB技术开放日,全新升级!
据外媒的一则消息,研究人员指数千款利用百度代码开发的应用收集了用户个人信息,并将这些信息回传给该公司,其中很多信息可以被轻松截取。而百度表示,其中一些数据会与第三方分享,并称公司“只会在权威执法机关提出合法请求时才提供...
大家好,我在将11gR2数据库迁移到12cR1的时候,发现一些多表连接的复杂sql文的性能,
相对于11gR2出现了明显的恶化,通过设置1 event来打印trace log,
发现主要是在解析阶段(parse)阶段的时间大幅增加了。
[i=s] 本帖最后由 xiao__y 于
15:59 编辑 [/i]
[color=#000][b]技术人生系列 · 我和数据中心的故事(第五期)—清算/报表/日终跑批程序之性能优化案例(一)[/b]
[color=rgb(62, 62, 62)][align=center][b]前言...
没有什么能比薪水更牵动整个人才市场了!以下是参考拉勾网的数据,依据不同的工作年限,在技术、设计、市场销售、金融这四个领域,2015年这些职位平均的薪资情况:
从IT168文库的“微群会”活动中,也看到了有这样一个问题:年底是员工流动...
2015年被称为“大数据应用”的元年。伴随着大数据概念的火热,围绕着大数据的创业潮也一浪高过一浪。
不知不觉,技术人生·我和数据中心的故事来到了第二期,有朋友开始关心小y是谁,这不重要,我们更关心的是技术层面的分享以及一些风险的提示。后续我们还会继续分享中包括操作系...
先来看一组数字:国内2015年安全事件频频爆发,机锋论坛存高危漏洞导致2700万用户数据泄露、国内10多家酒店大量客户开房信息被泄露、中国广东人寿10w保单被泄露、大麦网600w用户资料泄露、内蒙古19w高考考生信息泄露、...
思路都在注释中[code]insert /*+append*/ into TICTACTOE
with winbin as --列举8种赢的可能性的二进制表示,分别是三种独占一行,三种独占一列,两种对角线
(select (4+2+1)*8*8 b1,...
昨天微课堂的技术分享PPT及相关的两份资料,贴几个目录大家,大家觉得好的话自行下载
本次分享分成3部分,第一部分主要讲解RAC安装...
最近遇到一个奇怪现象,一个并不算大的表:
select segment_name,bytes/24 from dba_segments
where segment_name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...
最自然的解题思路,就是模拟真人下棋的情况,而SQL的优势在于它不会放过每个可能下子的位置,最终自然会得到所有的结局。从空棋盘开始,尝试在每个空位下子,每下一子就查看是否出现胜局,如果胜负已分则不再继续。所有空位已满也不再继续。
递归WITH...
鉴于物联网设备已经在整个企业范围内得到广泛的使用和传播,企业的生产环境已经不安全,而通过这些物联网设备来入侵企业网络十分的容易。
我的数据仓库在这几天经常的出现CPU100%,sqlplus 登陆不上,提示ora-03135:连接失去联系。
附件是我生成的AWR报告,导出html报错,只能导出text格式,请各位大大帮忙分析下是什么问题导致的?如何优化?
PS:(比纯技术的PPT讲解要好的多,流程、方法很重要!!新手更需要这个~~~)[/b][/color]
一直以来认为实施总账是相对比较容易的,也是可以最快出...
redo基本上一分钟切一次,归档明显很小,不知道什么原因?
SQL> show parameter ARCHIVE_LAG_TARGET
show parameter ARCHIVE_LAG_TARGET}">
今天一大早来单位一看,两个asm磁盘超过disk_repair_time被干掉了
SQL> select group_number,disk_number,STATE,PATH,NAME,failgroup from v$asm_
GROUP_NUMBER DISK_NUMBER STATE
My First upload to forum.. CEL RAC Performance Tuning On-Line with Arup Nanda (D68989GC10)
按照计划,SAP年推出了SAP S/4HANA, on-premise edition 1511 版本,也就是整合了后勤的S4版本。
总结下了主数据方面的变化,其他方面写完了再上传。
[attach]961573[/attach]
2011年ITPUB社区主办了第1届“盛拓传媒杯”SQL数据库编程大赛,2013举办了第2届,活动受到了广大社区会员的支持和热情参与,很多人依然记得之前热闹的场景,应广大会员要求,今年继续组织SQL数据库编程大赛。欢迎各路高手各显神通!!
首个Cloud Foundry亚太峰会将于12月2-3日在上海举行。具有领先的开源云原生应用平台的 Cloud Foundry 基金会在今年早些时候就已决定。Cloud Foundry亚太峰会是基金会一系列国际Cloud Foundry全球峰会的一部分。
中国是开源技...
假设有一组依次增长的数列:1,2,3,6,7,10,15,16,100找出其中“孔洞”的个数及“边缘”
针对上例有孔洞1个
孔洞1 【4....5】
孔洞2 【8....9】
孔洞3 【11....14】
孔洞4 【17....99】
如果类似数据存于表T,表T只有一个字段TCODE
试用一个QUER...
双十一轰轰烈烈的来了又去,但是它所带来的冲击却远没有平息。抢购还未结束之时,已经有消息爆出电商们的大折扣促销其实有很多门道,后又有人直接指出某大型电商会利用大数据等技术对用户进...
正在做压力测试,但是打印出来的AWR报告里面的数据都是空的,这是什么原因,大家有谁知道吗?
也不知道是否有人发过,睡不着顺便整理了一下。翻译不对的地方请大家指正!
几乎都是官方文档上的内容。
先来几个例子
拍拍网于今日发布关闭公告,背靠腾讯大树,也不好乘凉,最终宣告关闭。以下为京东官方公告。
各位puber~
为方便大家沟通交流,itpub即日起将建立一个oracle技术交流群,欢迎大家加入。
进群须知:
1、群内定期会邀请嘉宾进行技术分享,保证干货。
2、能够认识跟您志同道合的朋友。
3、第一时间获得IT168主办的线下沙龙活动通知邀请。
4、将有机会获得11月20日...
大数据是智能革命的核心。大数据背后的基本思想是,人类一切行为都会留下数字痕迹(或数据),我们(或他人)可以对其加以利用,变得更加智慧。掌握数量日益增加的数据并利用技术能力将其转化成具有商业价值的想法,是推动新世界的主要力量。无疑大数据正在改变世界,我们的...
事情缘起:早在8月份,在社区逛的时候就看到了K-DB技术开放日招募技术爱好者的帖子,了解到原来是浪潮公司招募DBA参与测试他们研发的数据库。近日又在网上看到消息,11月5日,浪潮即...
日前,英特尔举办的至强E7 v3行业应用方案刚刚结束,脚步走过了厦门、广州、上海、杭州、济南、北京、深圳等6大城市后,该项目在30日于深圳正式落下帷幕。本次路演活动,不仅让我们见证...
执行存过 发现
select t.sid, t.serial#, t.* from v$session t where t.sid = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...
SQL> select * from v$version where rownum=1;
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
SQL> conn scott/syste...
select * from v$version where rownum=1;
Oracle Database 11g Enterprise Edition Release...}">
10.22~24日为期三天的中国系统架构师大会圆满结束了,这是我们组织的第七届系统架构师大会了,3天的技术会议,充实而感动,在此向长期支持和关注我们的CUer表示深深感谢!感谢嘉宾的精彩分享,感谢各位参会人员的到场支持,同时也感谢众位ITPUBer的关注!!现将大会部分照片及演讲PPT公布出来,欢迎众位ITPUBer回...
目前该表约有22亿数据,存储的是每天每小时的统计数据,每天每小时约50W的统计数据。(不要问我为什么这么搞,我也不知道。)
该表已经分区,分区粒度为若干个月,我同样也不知道为什么是无规则的若干个月。
每个分区的数据量为:、、(10亿,9.6亿,1.9亿)
自从总理提出了“大众创业,万众创新”之后,“双创”就成为了政府报告的高频热词,当然也激发了资本大佬们和草根创业者的激情。这不,19日-23日为期一周的首届全国大众创业万众创新活动周启...
话题背景:
10月21日百度停止招聘邮件流出,现在想进百度得李彦宏点头。这不止是百度求职者的一个坏消息,似乎也浮现出互联网公司背后的一些问题。
此前阿里巴巴马云也曾宣布,要在今年冻结员工规模,出一个进一个。BAT三大公司如今只剩下腾讯还没有发布此类消息。
互联网圈似乎已经开始被冬天笼罩,在媒体被称为资本寒冬的创业...
在此之前有一台备份服务器专门备份此数据库服务器,数据备份到磁带库设备里,后来,在数据库端没有做任何动作的情况下,备份服务器被拆除,在数据库服务器上的备份客户端也被卸载;
至此,RMAN无法再联系到sbt通道,也意味着list backup里的所有信息均无效;
现在想把list backup的历史备份记录清除...
新中国土豪的四大标志:敢扶大爷大妈 ,敢拍马云涂鸦, 敢吃新疆切糕 ,敢点青岛大虾。近几天,赶上国庆黄金周的热潮,手里有点“小钱”的老百姓,也趁机度个“小价”,过个“小资”的生活,这个阳光海边沙滩的度假却成了“度天价”。
ORACLE11GR2 的文档,创建完物理STANDBY后3.3 Post-Creation StepsAt this point, the physical standby database is running and can provide the maximum performance level of dat...
推荐板块:
&&&&&&&&&&
特色栏目:
杭州沃趣高级技术专家。曾就职于东软集团,阿里巴巴集团,Oracle ACE-A,DBGEEK 用户组发起人,ITPUB认证博客专家,ACOU...【】
现任中兴通讯中心研究院大数据首席架构师,负责中兴通讯大数据平台的系统架构设计。在18年的电信行业从业经历中,王德政先生曾先后从事GSM、WC...【】
ITPUB官方微信
扫描二维码,向ITPUB吐槽微信号:itpuber
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章
ITPUB季度 社区新星
ITPUB季度 社区新星
ITPUB季度 技术新星
ITPUB季度 技术新星
ITPUB季度 技术新星
ITPUB季度 技术新星
ITPUB季度 技术新星
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章
ITPUB社区OCM联盟徽章2181人阅读
oracle(46)
  Nested loop join:
  Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环。
  Sort merge join:
  将两个表排序,然后再进行join。
  Hash join:
  将两个表中较小的一个在内存中构造一个Hash 表(对JoinKey),扫描另一个表,同样对JoinKey进行Hash后探测是否可以join,找出与之匹配的行。
  一张小表被hash在内存中。因为数据量小,所以这张小表的大多数数据已经驻入在内存中,剩下的少量数据被放置在临时表空间中;
  每读取大表的一条记录,就和小表中内存中的数据进行比较,如果符合,则立即输出数据(也就是说没有读取临时表空间中的小表的数据)。而如果大表的数据与小表中临时表空间的数据相符合,则不直接输出,而是也被存储临时表空间中。
  当大表的所有数据都读取完毕,将临时表空间中的数据以其输出。如果小表的数据量足够小(小于hashareasize),那所有数据就都在内存中了,可以避免对临时表空间的读写。
  如果是并行环境下,前面中的第2步就变成如下了:每读取一条大表的记录,和内存中小表的数据比较,如果符合先做join,而不直接输出,直到整张大表数据读取完毕。如果内存足够,Join好的数据就保存在内存中。否则,就保存在临时表空间中。
  适用范围
  Nested loop join:
  适用于outer table(有的地方叫Mastertable)的记录集比较少(&10000)而且innertable(有的地方叫Detailtable)索引选择性较好的情况下(inner table要有index)。
  inner table被outer table驱动,outertable返回的每一行都要在innertable中检索到与之匹配的行。当然也可以用ORDERED提示来改变CBO默认的驱动表,使用USE_NL(table_name1table_name2)可是强制CBO执行嵌套循环连接。
  cost = outer access cost + (inner access cost *outercardinality)
  Sort merge join:
  用在数据没有索引但是已经排序的情况下。
  通常情况下hash join的效果都比Sortmergejoin要好,然而如果行源已经被排过序,在执行排序合并连接时不需要再排序了,这时Sort mergejoin的性能会优于hashjoin。可以使用USE_MERGE(table_name1 table_name2)来强制使用Sortmergejoin。
  cost = (outer access cost * # of hash partitions) + inneraccesscost
  Hash join:
  适用于两个表的数据量差别很大。但需要注意的是:如果HASH表太大,无法一次构造在内存中,则分成若干个partition,写入磁盘的temporarysegment,则会多一个I/O的代价,会降低效率,此时需要有较大的temporarysegment从而尽量提高I/O的性能。
  可以用USE_HASH(table_name1table_name2)提示来强制使用散列连接。如果使用散列连HASH_AREA_SIZE初始化参数必须足够的大,如果是9i,Oracle建议使用SQL工作区自动管理,设置WORKAREA_SIZE_POLICY为AUTO,然后调整PGA_AGGREGATE_TARGET即可。
  也可以使用HASH_JOIN_ENABLED=FALSE(默认为TRUE)强制不使用hash join。
  cost = (outer access cost * # of hash partitions) + inneraccesscost
  效率比较
  Hashjoin的主要资源消耗在于CPU(在内存中创建临时的hash表,并进行hash计算),而mergejoin的资源消耗主要在于磁盘I/O(扫描表或索引)。在并行系统中,hashjoin对CPU的消耗更加明显。所以在CPU紧张时,最好限制使用hashjoin。
  在绝大多数情况下,hash join效率比其他join方式效率更高:
  在Sort-Merge Join(SMJ),两张表的数据都需要先做排序,然后做merge。因此效率相对最差;
  Nested-Loop Join(NL)效率比SMJ更高。特别是当驱动表的数据量很大(集的势高)时。这样可以并行扫描内表。
  Hash join效率最高,因为只要对两张表扫描一次。
  编辑推荐
  MySQL中Join算法实现原理分析
  通往性能优化的JOIN方法说明
  SQL中的JOIN的简洁解释
,排序合并连接(,)
  内部连接过程:
  )首先生成需要的数据,然后对这些数据按照连接操作关联列(如)进行排序。
  )随后生成需要的数据,然后对这些数据按照与对应的连接操作关联列(如)进行排序。
  )最后两边已排序的行被放在一起执行合并操作,即将个按照连接条件连接起来
  下面是连接步骤的图形表示:
  如果已经在连接关联列上被排序,则该连接操作就不需要再进行操作,这样可以大大提高这种连接操作的连接速度,因为排序是个极其费资源的操作,特别是对于较大的表。预先排序的包括已经被索引的列(如或上有索引)或已经在前面的步骤中被排序了。尽管合并两个的过程是串行的,但是可以并行访问这两个(如并行读入数据,并行排序)。
  连接的例子:
  排序是一个费时、费资源的操作,特别对于大表。基于这个原因,经常不是一个特别有效的连接方法,但是如果个都已经预先排序,则这种连接方法的效率也是蛮高的。
  ,嵌套循环(,)
  这个连接方法有驱动表(外部表)的概念。其实,该连接过程就是一个层嵌套循环,所以外层循环的次数越少越好,这也就是我们为什么将小表或返回较小的表作为驱动表(用于外层循环)的理论依据。但是这个理论只是一般指导原则,因为遵循这个理论并不能总保证使语句产生的次数最少。有时不遵守这个理论依据,反而会获得更好的效率。如果使用这种方法,决定使用哪个表作为驱动表很重要。有时如果驱动表选择不正确,将会导致语句的性能很差、很差。
  内部连接过程:
  的——
  的——
  的——
  ……。
  的——
  从内部连接过程来看,需要用中的每一行,去匹配中的所有行,所以此时保持尽可能的小与高效的访问(一般通过索引实现)是影响这个连接效率的关键问题。这只是理论指导原则,目的是使整个连接操作产生最少的物理次数,而且如果遵守这个原则,一般也会使总的物理数最少。但是如果不遵从这个指导原则,反而能用更少的物理实现连接操作,那尽管违反指导原则吧!因为最少的物理次数才是我们应该遵从的真正的指导原则,在后面的具体案例分析中就给出这样的例子。
  在上面的连接过程中,我们称为驱动表或外部表。被称为被探查表或内部表。
  在连接中,读取中的每一行,然后在中检查是否有匹配的行,所有被匹配的行都被放到结果集中,然后处理中的下一行。这个过程一直继续,直到中的所有行都被处理。这是从连接操作中可以得到第一个匹配行的最快的方法之一,这种类型的连接可以用在需要快速响应的语句中,以响应速度为主要目标。
  如果(外部表)比较小,并且在(内部表)上有唯一索引,或有高选择性非唯一索引时,使用这种方法可以得到较好的效率。有其它连接方法没有的的一个优点是:可以先返回已经连接的行,而不必等待所有的连接操作处理完才返回数据,这可以实现快速的响应时间。
  如果不使用并行操作,最好的驱动表是那些应用了限制条件后,可以返回较少行数据的的表,所以大表也可能称为驱动表,关键看限制条件。对于并行查询,我们经常选择大表作为驱动表,因为大表可以充分利用并行功能。当然,有时对查询使用并行操作并不一定会比查询不使用并行操作效率高,因为最后可能每个表只有很少的行符合限制条件,而且还要看你的硬件配置是否可以支持并行(如是否有多个,多个硬盘控制器),所以要具体问题具体对待。
  连接的例子:
  ,哈希连接(,)
  这种连接是在以后引入的,从理论上来说比与更高效,而且只用在优化器中。
  较小的被用来构建与,第个被用来被,并与第一个生成的进行匹配,以便进行进一步的连接。被用来作为一种比较快的查找方法,来检查在中是否有匹配的行。特别的,当比较大而不能全部容纳在内存中时,这种查找方法更为有用。这种连接方法也有连接中所谓的驱动表的概念,被构建为与的表为驱动表,当被构建的与能被容纳在内存中时,这种连接方式的效率极高。
  连接的例子:
  要使哈希连接有效,需要设置,缺省情况下该参数为,另外,不要忘了还要设置参数,以使哈希连接高效运行,因为哈希连接会在该参数指定大小的内存中运行,过小的参数会使哈希连接的性能比其他连接方式还要低。
最后,总结一下,在哪种情况下用哪种连接方法比较好:
  排序合并连接(,):
  )对于非等值连接,这种连接方式的效率是比较高的。
  )如果在关联的列上都有索引,效果更好。
  )对于将个较大的做连接,该连接方法比连接要好一些。
  )但是如果返回的过大,则又会导致使用过多的在表中查询数据时,数据库性能下降,因为过多的
  嵌套循环(,):
  )如果(外部表)比较小,并且在(内部表)上有唯一索引,或有高选择性非唯一索引时,使用这种方法可以得到较好的效率。
  )有其它连接方法没有的的一个优点是:可以先返回已经连接的行,而不必等待所有的连接操作处理完才返回数据,这可以实现快速的响应时间。
  哈希连接(,):
  )这种方法是在后来引入的,使用了比较先进的连接理论,一般来说,其效率应该好于其它种连接,但是这种连接只能用在优化器中,而且需要设置合适的参数,才能取得较好的性能。
  )在个较大的之间连接时会取得相对较好的效率,在一个较小时则能取得更好的效率。
  )只能用于等值连接中
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1539213次
积分:14472
积分:14472
排名:第521名
原创:296篇
转载:257篇
评论:105条
(2)(2)(11)(24)(3)(1)(4)(2)(22)(8)(2)(2)(5)(3)(2)(1)(2)(1)(25)(11)(1)(2)(14)(5)(9)(11)(12)(10)(9)(15)(4)(4)(12)(8)(19)(7)(1)(2)(9)(2)(3)(11)(32)(107)(2)(2)(3)(5)(8)(4)(2)(7)(11)(24)(44)

我要回帖

更多关于 优化比较好的单机游戏 的文章

 

随机推荐