首页 Oracle数据库10g:新的SQL和PLSQL功能

Oracle数据库10g:新的SQL和PLSQL功能

举报
开通vip

Oracle数据库10g:新的SQL和PLSQL功能Oracle数据库10g中新的SQL和PL/SQL功能议程新的SQL特性新的PL/SQL特性PL/SQL的速度是原来的两倍总结问答Oracle8OracleSQL引擎的发展Oracle8iOracle9iOracle9iR2SQL/XML集成(XMLType、URIType等)OLAPDatetime类型ANSI联接CASE表达式XML数据库SQL/XMLW3C标准数据挖掘网络Web服务正则表达式本地数值结构BLAST对象扩展数据插件SQL/Java集成interMedia类型数据和处理复杂性新的SQL特性正则表达...

Oracle数据库10g:新的SQL和PLSQL功能
Oracle数据库10g中新的SQL和PL/SQL功能议程新的SQL特性新的PL/SQL特性PL/SQL的速度是原来的两倍总结问答Oracle8OracleSQL引擎的发展Oracle8iOracle9iOracle9iR2SQL/XML集成(XMLType、URIType等)OLAPDatetime类型ANSI联接CASE表达式XML数据库SQL/XMLW3C 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 数据挖掘网络Web服务正则表达式本地数值结构BLAST对象扩展数据插件SQL/Java集成interMedia类型数据和处理复杂性新的SQL特性正则表达式本地数值结构LOB增强集合增强正则表达式简介起源于数学首先在UNIX中计算机化从ed、grep、perl、cgi、web到任何地方多种应用程序HTMLFORMS中的验证生物信息学服务器配置数据挖掘Oracle正则表达式对数据库的本地支持SQL和PL/SQL中的接口基于POSIX标准与GNU、PERL、Java、Xquery等同步描述数据的模式变为数据的一个属性数据库内部强大的字符串处理主要特性POSIX扩展的正则表达式接口REGEXP_LIKE模式是否匹配?REGEXP_SUBSTR它与什么匹配?REGEXP_INSTR它在哪里匹配?REGEXP_REPLACE替换匹配的记录。匹配选项语言环境支持LOB支持REGEXP_LIKE确定模式是否存在。查找名称‘JonStevens‘的变体John或JonSteven或Stevens或Stephen或StephensSELECTc1FROMt1WHEREREGEXP_LIKE(c1,‘Joh?nSte(ph|v)ens?’);JonStevensJohnStephensJohnStevens和DDL一起使用允许使用过滤器的数据,并带检查约束邮政编码(ZIPcode)列是VARCHAR2(5),但可以包含任意的5个字符。使用视图的查询子集和格式化将电话号码格式化为(xxx)xxx-xxxx创建基于函数的索引与PL/SQL一起使用非常强大的字符串处理功能src:=REGEXP_REPLACE(src,‘<regexp_1>’);src:=REGEXP_REPLACE(src,‘<regexp_2>’);src:=REGEXP_REPLACE(src,‘<regexp_3>’);可以增强现有的功能支持PERL缩写提取第n个子表达式替换大量代码行可以简化字符串处理函数性能考虑事项模式匹配可能很复杂需要编译成状态机词法 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 检查所有可能的分支,直到发现匹配每条语句编译一次对于复杂情景可能比LIKE更快邮政编码检查快5倍通常比等价的PL/SQL更快编写快速执行的表达式本地浮点数据类型两种新的数值数据类型BINARY_FLOAT,BINARY_DOUBLE二进制浮点运算的IEEE754标准是许多其他标准(例如,Java、XML模式)和硬件平台的一部分普遍存在于商务智能、生命科学、 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 /科学计算本地浮点数据类型与数值数据类型比NUMBER类型效率更高硬件运算/数学运算快5–10倍占用更少的内存/磁盘空间(5/9字节与1–22字节)BINARY_DOUBLE值范围更大(e308与e125)无需类型转换(使用与字节顺序无关的存储格式)本地浮点函数新的类型转换函数TO_BINARY_FLOAT、TO_BINARY_DOUBLETO_NUMBERSQL函数支持数值函数(sin、cos等)聚合函数(sum、avg、stddev等)分析函数(sum、avg、stddev等)对SQL、PL/SQL、Java、XML模式注册、ODP.NET和OCI/OCCI的无缝支持本地浮点约束createtablefloating_point_table1(fltNnullbinary_floatconstraintflt_nullnotnull,dblNnullbinary_doubleconstraintdbl_nullnotnull,fltUnqbinary_floatconstraintflt_unqunique,dblUnqbinary_doubleconstraintdbl_unqunique,fltChkbinary_floatconstraintflt_chkcheck(fltChkisnotNaN),dblChkbinary_doubleconstraintdbl_chkcheck(dblChkisnotinfinite),fltPrmbinary_floatconstraintflt_prmprimarykey);*NaN(不是数字)–e.g.0/0,infinity/infinity本地浮点约束createtablefloating_point_table2(dblPrmbinary_doubleconstraintdbl_prmprimarykey,fltFrnbinary_floatconstraintflt_frnreferencesfloating_point_table1(fltPrm)ondeletecascade);PL/SQL示例使用欧拉级数计算=sqrt(6*(1+1/2*2+1/3*2+...))使用牛顿 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 近似真值的平方根赋值、加、乘、除、比较、绝对值procedureEuler_Pi_Seriesis...beginpi:=one;prev_pi:=zero;prod_over_six:=zero;step:=zero;whilepi-prev_pi>tolerloopprev_pi:=pi;step:=step+one;prod_over_six:=prod_over_six+one/(step*step);prod:=six*prod_over_six;prev_root:=prod;root:=prod/two;whileAbs(root-prev_root)>root_tolerloopprev_root:=root;root:=(root+prod/root)/two;endloop;pi:=root;endloop;endEuler_Pi_Series;subtypeMy_Numberisnumber;zeroconstantMy_Number:=0.0;oneconstantMy_Number:=1.0;twoconstantMy_Number:=2.0;sixconstantMy_Number:=6.0;tolerconstantMy_Number:=0.00000000001;root_tolerconstantMy_Number:=toler/1000.0;rootMy_Number;prev_rootMy_Number;prod_over_sixMy_Number;prodMy_Number;piMy_Number;prev_piMy_Number;stepMy_Number;subtypeMy_Numberisbinary_double;zeroconstantMy_Number:=0.0d;oneconstantMy_Number:=1.0d;twoconstantMy_Number:=2.0d;sixconstantMy_Number:=6.0d;tolerconstantMy_Number:=0.00000000001d;root_tolerconstantMy_Number:=toler/1000.0d;rootMy_Number;prev_rootMy_Number;prod_over_sixMy_Number;prodMy_Number;piMy_Number;prev_piMy_Number;stepMy_Number;PL/SQL示例使用欧拉级数计算近似300,000次迭代NUMBER花费约27.7秒BINARY_DOUBLE花费约3.7秒提高倍数:约7倍LOB增强LOB普遍用于存储非结构化的数据(文本、AVI、基因/蛋白序列等)LOB性能改善访问内联(<4KB)LOB时获得5倍的性能增益(在9iR2中)临时LOB使用引用计算提供了几个数量级的性能增益在读取时引用(ReferenceonRead)在写入时复制(CopyonWrite)超大型LOBTB大小的Lob(8–128TB)DB_BLOCK_SIZE(2–32KB)x(4GB–1)新的DBMS_LOB.GET_STORAGE_LIMIT函数OCI、JDBC和DBMS_LOB现在支持大于4GB的LOBOCILobRead2()、OCIWriteAppend2()和OCILobWrite2()函数为JDBC和DBMS_LOB提供相同的API集合类型增强用户定义的类型、集合类型和引用类型简化了结构复杂的数据建模集合类型用于映射实际世界应用程序中的包含关系例如,一个购物车包含了许多商品VARRAY增强VARRAY的类型发展CREATETYPEemail_list_typASOBJECT(section_noNUMBER,emailsemail_list_arr);/CREATETYPEemail_varray_typASVARRAY(5)OFemail_list_typ;/ALTERTYPEemail_varray_typMODIFYLIMIT100CASCADE;在临时表中支持VARRAY列提供应用程序开发灵活性嵌套表增强将一个不同的表空间用于嵌套表的存储表带嵌套表的列的表可以在表空间之间分配I/O负载CREATETABLEpurchase_orders(order_items_columnorder_items_typ)NESTEDTABLEorder_items_columnSTOREASorder_items_column_nt(TABLESPACEusers);为嵌套表提供的ANSISQL多集合操作嵌套表存储无序的元素集合只包含唯一的元素多集合可以包含重复的元素嵌套表上的各种多集合操作为嵌套表提供的多集合操作Cardinality、Collect、MultisetExcept、MultisetIntersection、MultisetUnion、Powermultiset、Powermultiset_by_Cardinality和Set操作查找热销商品集合的强大工具(市场指数总览分析)多集合操作示例createtypecategoriesastableofint;/createtablecarts(c1int,c2categories)nestedtablec2storeastb1_c2;insertintocartsvalues(1,categories(1,2,3,4));insertintocartsvalues(2,categories(2,4,6));selectt1.c2multisetintersectt2.c2fromcartst1,cartst2wheret1.c1=1andt2.c1=2;categories(2,4)<-frequentset嵌套表比较Equal和NotEqual、In、Submultiset、MemberOf、Empty和Is[Not]ASetSELECT*FROMcustomercWHEREitem_typ(2)MEMBEROFc.freq_set;在PL/SQL中也提供declaretypeTab_tistableofpls_integer;aTab_t:=Tab_t(1,2,3,4,5);beginif3memberofathenShow('member');endif;end;SQL小结Oracle数据库10gSQL引擎聚合来自不同的分布式数据源的数据网格信息无缝地集成Java、XML和基本数据处理功能一个全面的高性能和基于标准(SQL-2003W3C、J2SE、POSIX等)的特性集简化的应用程序开发、部署和管理RAS、可管理性和安全性议程新的SQL特性新的PL/SQL特性PL/SQL的速度是原来的两倍总结问答新的PL/SQL特性刚才讨论的所有SQL语言特性FORALL语句中的稀疏绑定数组编译器警告新的Utl_Mail和Utl_Compress程序包FORALL语句中的稀疏绑定数组您的PL/SQL表最初是密集的,例如,是由BULKCOLLECT填充的您删除了一些元素您想将这些元素插入到某个表中foralljinINDICESOFsparse_emp_recordsBETWEEN<lb>AND<ub>--optionalinsertintonew_employeesvaluessparse_emp_records(j);FORALL语句中的稀疏绑定数组您有一个PL/SQL表(密集或稀疏)您想将这些记录的一个指定的子集插入到某个表中foralljinVALUESOFpointer_tabinsertintonew_employeesvaluesemp_records(j);编译器警告createorreplaceprocedurePisdebuggingboolean:=false;beginifdebuggingthenDbms_Output.Put_Line('debugging');endif;endP;/SP2-0804:ProcedurecreatedwithcompilationwarningsShowErrorsPLW-06002:Unreachablecodealtersessionsetplsql_warnings='ENABLE:ALL';编译器警告createorreplaceprocedureP(iinoutclob)isbegini:='x';endP;/SP2-0804:ProcedurecreatedwithcompilationwarningsShowErrorsPLW-07203:parameter'I'maybenefitfromuseoftheNOCOPYcompilerhintaltersessionsetplsql_warnings='ENABLE:PERFORMANCE';新提供的程序包Utl_Mail它的API反映了,比如说,NetscapeCommunicator的最终用户的思维模式无需SMTP协议的知识(与使用Utl_Smtp相比)确保简单化的一些限制Utl_Compress提供了一个API来压缩和解压缩RAW或BLOB(服务器端)议程新的SQL特性新的PL/SQL特性PL/SQL的速度是原来的两倍总结问答PL/SQL编译和执行101PL/SQL源代码前端IR==Diana后端对象代码==MCodePVM全新的后端10g引进了一个全新的后端,又叫做优化代码生成器它全面地查看源代码所表达的内容,然后删除对最终的正确结果确实没有影响的所有计算提供了实现巨大性能的潜力全新的后端在9iR2中的ORACLE可执行文件中,新的代码生成器与旧的代码生成器并存,一个允许在两者之间进行选择的开关两者都曾在回归测试中使用因此我们保证它是安全的!我们没有将这个开关提供给客户重要的pvm升级删除了过时的指令增加了新的指令例如one-shotmulticoncatenate简化了用于使用PVM指令的系统实施经过调整的指令的C例程改进了本地编译数据库中的DLL对于数据库管理员,配置更加简单改进了生成的C代码让我们修改其工作方式……PL/SQL源代码前端IR==Diana后端对象代码==MCodePVMPL/SQL编译和执行101对象代码==MCode或本地计算机代码硬件性能实验结果由PL/SQL小组进行的测试Beta程序测试由Oracle的应用程序部进行的测试由PL/SQL小组进行的测试17个自包含的PL/SQL程序的基准测试套件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 用来实践大范围的结构和编程习惯一些测试选择用来演示特定的优化器效果例如,从一个循环中删除一个常量赋值由PL/SQL小组进行的测试下一张幻灯片显示了每一个程序在9iR2INTERPRETED和10gNATIVE中的速度9iR2中速度相同10g中显示了两种测量方式的完成CPU时间之比由PL/SQL小组进行的测试大多数测试程序速度提高超过2倍一些测试程序速度提高远超过2倍速度提高10倍的程序使用BINARY_INTEGER,并拥有特别易于优化的编程习惯procedurePis/*constrainedbinary_integersubtypes*/apositiven:=1;bpositiven:=1;cpositiven:=1;dpositiven:=1;beginforjin1..i_nof_iterationsloopb:=j/*constraintcheck*/;d:=42/*constantassignmentwithinaloop*/;c:=d+b/*canbecombined...*/;a:=b+c/*...cnotusedexcepthere*/;endloop;endP;由PL/SQL小组进行的测试下一张幻灯片显示了更多详细信息基准是OracleVersion8.0.6显示了8i9iR2INTERPRETED9iR2NATIVE10gINTERPRETED10gNATIVE速度提高的倍数由PL/SQL小组进行的测试TMI?下一张幻灯片为每一个测试的版本显示了这17个程序的集合的统计信息:中值最大和最小值第1和第3四分点(一半的观察都落在第1和第3四分点之间)由PL/SQL小组进行的测试8i比8.0.6快9iR2比8i快NATIVE始终比INTERPRETED快在9iR2中在10g中10g始终比9iR2快INTERPRETED与INTERPRETEDNATIVE与NATIVE由IFS进行的Beta程序测试由IFS进行的Beta程序测试IFS应用程序基于web和门户技术提供用于制造、供应链管理、客户关系管理、服务供应、财务管理、产品开发、维护和人力资源管理的60多种企业应用程序组件由IFS进行的Beta程序测试IFS应用程序广泛使用Oracle大多数业务逻辑用PL/SQL编写约3000个表约5000个视图约5000个程序包约420万行PL/SQL代码所有的PL/SQL代码都在数据库中执行10gBeta程序的IFS结果程序1程序22.59x1.76x两个模拟典型应用程序处理的纯PL/SQL测试程序将10gNATIVE与9iR2INTERPRETED进行比较(在10gBeta1中)“在最初的测试中看到的测试结果让我们非常激动。我们希望在真正的基准测试情景中看到同样出色的测试结果。”10gBeta程序的IFS结果1.18x使用大量的SQL对真正的应用程序情景进行高强度的测试同样将10gNATIVE与9iR2INTERPRETED进行比较(在10gBeta1中)“测试结果让我们非常激动。总体性能18%的提高对我们的客户真的非常有益。”由甲骨文公司的应用程序开发小组进行的测试初步结果,对10gBeta2和9iR2进行了比较纯PL/SQL处理速度提高的倍数在2个数量级上模拟数据输入处理(大量的SQL)的吞吐量提高的倍数在1.10x到1.15x的范围之间总结:Oracle数据库10g带来了……SQL新语言特性同样在PL/SQL中无缝地提供PL/SQL新语言特性新的PL/SQL程序包PL/SQL的速度是原来的两倍典型纯PL/SQL程序将在10gNATIVE与9iR2INTERPRETED的比较中获得至少2倍的速度提高从较早版本升级的客户将获得甚至更大的速度提高接下来,您可以……有关详细信息,请访问相关网站http://otn.oracle.com/products/database/application_development/OTNSQL/PL-SQL论坛提醒—请完成OracleWorld在线讲座调查谢谢!AQ&问答演讲完毕,谢谢观看!
本文档为【Oracle数据库10g:新的SQL和PLSQL功能】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
腐朽的灵魂
暂无简介~
格式:ppt
大小:704KB
软件:PowerPoint
页数:0
分类:
上传时间:2021-07-15
浏览量:9