MYSQL编程:Oracle 数据库 体系利用履历六则
与其他数据库相比,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提供了敏捷和高效的数据库服务,它可以支持多变的需求。 始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。 相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
页:
[1]