仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 786|回复: 6
打印 上一主题 下一主题

[学习教程] MYSQL编程:Oracle 数据库 体系利用履历六则

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
与其他数据库相比,MySQL易学易用。oracle|数据|数据库
Oracle数据库体系利用履历六则


----1.having子句的用法

----having子句对groupby子句所断定的行组举行把持,having子句前提中只同意触及常量,聚组函数或groupby子句中的列.

----2.内部连接"+"的用法

----内部连接"+"按其在"="的右边或右侧分左连接和右连接.若不带"+"运算符的表中的一个行不间接婚配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相婚配并被前往.若两者均不带+,则两者中没法婚配的均被前往.使用内部连接"+",能够替换效力非常低下的notin运算,年夜年夜进步运转速率.比方,上面这条命令实行起来很慢

selecta.empnofromempawherea.empnonotin
(selectempnofromemp1wherejob=SALE);

----倘使使用内部连接,改写命令以下:

selecta.empnofromempa,emp1b
wherea.empno=b.empno(+)
andb.empnoisnull
andb.job=SALE;

----能够发明,运转速率分明进步.

----3.删除表内反复纪录的办法

----能够使用如许的命令来删除表内反复纪录:

deletefromtable_namea
whererowid<(selectmax(rowid)fromtable_name
wherecolumn1=a.column1andcolumn2=a.column2
andcolum3=a.colum3and...);

----不外,当表对照年夜(比方50万条以上)时,这个办法的效力之差使人没法忍耐,必要另想举措(可参看拙文《电信计费中远程反复话单的手艺处置》,《盘算机与通讯》,1999-07).

----4.settransaction命令的用法

----在实行年夜事件时,偶然oracle会报出以下的毛病:

ORA-01555:snapshottooold(rollbacksegmenttoosmall)

----这申明oracle给此事件随机分派的回滚段太小了,这时候能够为它指定一个充足年夜的回滚段,以确保这个事件的乐成实行.比方

settransactionuserollbacksegmentroll_abc;
deletefromtable_namewhere...
commit;

----回滚段roll_abc被指定给这个delete事件,commit命令则在事件停止以后作废了回滚段的指定.

----5.利用索引的注重事项

----select,update,delete语句中的子查询应该有纪律地查找少于20%的表行.假如一个语句查找的行数凌驾总行数的20%,它将不克不及经由过程利用索引取得功能上的进步.

----索引大概发生碎片,由于纪录从表中删除时,响应也从表的索引中删除.表开释的空间能够再用,而索引开释的空间却不克不及再用.频仍举行删除操纵的被索引的表,应该阶段性地重修索引,以免在索引中形成空间碎片,影响功能.在允许的前提下,也能够阶段性地truncate表,truncate命令删除表中一切纪录,也删除索引碎片.

----6.数据库重修应注重的成绩

----在使用import举行数据库重修过程当中,有些视图大概会带来成绩,由于布局输出的按次大概形成视图的输出先于它低条理表的输出,如许创建视图就会失利.要办理这一成绩,可接纳分两步走的办法:起首输出布局,然后输出数据.命令举比方下(uesrname:jfcl,password:hfjf,hoststing:ora1,数据文件:expdata.dmp):

impjfcl/hfjf@ora1file=empdata.dmprows=N
impjfcl/hfjf@ora1file=empdata.dmpfull=Ybuffer=64000
commit=Yignore=Y

----第一条命令输出一切数据库布局,但无纪录.第二次输出布局和数据,64000字节提交一次.ignore=Y选项包管第二次输出既使工具存在的情形下也能乐成.




任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 20:27:04 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-27 07:50:47 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
兰色精灵 该用户已被删除
地板
发表于 2015-2-11 03:18:15 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
因胸联盟 该用户已被删除
5#
发表于 2015-3-1 20:29:28 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
第二个灵魂 该用户已被删除
6#
发表于 2015-3-10 23:28:38 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
7#
发表于 2015-3-17 16:08:04 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表