oracle中sql语句的优化一、执行顺序及优化细则1.表名顺序优化(1)基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图:Student_info(30000条数据)Description_info(30条数据)select*fromdescription_infodi,student_infosi--学生信息表wheresi.student_id=di.lookup_code(+)anddi.lookup_type(+)='STUDENT
系统 2019-08-12 01:54:30 2193
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧!网上形形色色删除重复数据的法方就是没见过这类:DELETEFROMprod_grid_incWHEREROWIDIN(SELECTb.row_id2FROM(SELECTROWIDrow_id2,a.*,row_number()over(PARTITIONBYa.prod_idORDERBYa.insert_dateDESC)row_numFROMpr
系统 2019-08-12 01:54:18 2193
9月8日周六下午2:00,我们组织了一次关于Oracle数据库的技术沙龙.盖国强被俺"捆绑"来做嘉宾讲师.(非常感谢他对我们活动的支持,以及认真的PPT准备和长达3小时的技术交流)这次沙龙总共来了70多位ZDNet网友,其中有很多比较熟悉的技术圈朋友,不过由于时间紧也没能与他们一一打招呼.这次活动的一个易拉宝。。。看到软件频道没有。。。不过现在这里面应该再增加一个开发频道了:)我的同事们都很高兴能和这位国内优秀的Oracle专家照相,哈哈:),软件频道编辑
系统 2019-08-12 01:53:54 2193
createtablespacestudentDBdatafile'E:\datafiles_1.dbf'size10m;createuserHuang_Ying_Boidentifiedbyhyb123456defaulttablespacestudentDBgrantconnecttoHuang_Ying_BograntresourcetoHuang_Ying_BodroptableTechEd_T_Students/*创建学生信息表*/createt
系统 2019-08-12 01:52:58 2193
自己搞报表,数据量比较海的时候就不能一次性查询出来,要分段才可以,我们采用rownum伪列进行查询,伪列有个特点只能从1开始,想实现x>10andx<20不能按照常规的那种一条sql搞定,必须要双层嵌套才可以的,这个算是个经验吧,同理,求和sum(某列)的时候,如果想查找从第100行到第200行的数据某列之和的时候,你也要嵌套一下,betweenand是不行的...1.最佳oracle分页sql1oracle分页sql分段查数据和分段求和sql语句和jav
系统 2019-08-12 01:52:23 2193
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。下面例子中使用的表来自Oracle自带的HR用户下的表,如果没有安装该用户,可以在SYS用户下运行$ORACLE_HOME/demo/schema/human_resources/hr_main.sql来创建。除本文内容外,你还可参考:ROLLUP与CUBEhttp://xsb.itpub.net/pos
系统 2019-08-12 01:52:10 2193
本文转自:http://www.bitscn.com/oracle/install/200604/16541.html首先,通过下表介绍ORACLE与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用哪种对应关系,应具体问题具体分析。注意事项:DATEandTIMEOracle中的DATE含有年、月、日、时、分、秒,它和DB2/400中的DATE不相互对应,DB2/400中的DATE只有年、月、日,TIME类型含有时、分、秒,因此日期和时间类型
系统 2019-08-12 01:51:27 2193
一、Oracle中的Round和Trunc:如同对数字进行四舍五入和按位截取一样,Oracle对时间日期也提供了这两种功能。但比起对数字进行四舍五入和截取比较复杂:这是因为时间日期是有格式的。下面看看这两个函数的定义和用途:ROUND(date[,format])TRUNC(date[,format])Round函数对日期进行“四舍五入”,Trunc函数对日期进行截取。如果我们不指定格式的话,Round会返回一个最接近date参数的日期,而Trunc函数只
系统 2019-08-29 22:50:12 2192
今天刚开始学习perl语言,安装了ActivePerl-5.8.8.822-MSWin32-x86-280952.msi,安装后perl是5.8.8,而之前安装的oracle10g的perl版本是5.8.3,所以在运行perldoc-u-fatan2命令时,报错如下:解决方法:1、将oracle10g目录E:\oracle\product\10.2.0\db_1\perl\5.8.3\lib\Pod下的Perldoc.pm和Perldoc.pod替换为5.
系统 2019-08-29 22:37:11 2192
安装准备:物理内存的最小要求physicalRAM>=512MB临时目录空间要求/tmp>=400MB不同安装类型所需的磁盘空间大小InstallationTypeRequirementforSoftwareFiles(GB)EnterpriseEdition2.0StandardEdition1.5Custom(maximum)2.5确定内存大小交换分区以及磁盘空间:确定系统架构:确定系统已安装相应软件包:安装缺少的软件包(SUNWsprox这个不要装s
系统 2019-08-29 22:18:37 2192
定义:typet_numberstabistableofnumber;举例:createorreplacefunctiongetbldroomidforcert(p_certidnumber,p_sequencenumber)returnvarchar2istypet_numberstabistableofnumber;v_bldroomidst_numberstab:=t_numberstab();v_cntnumber:=1;beginforbrrsi
系统 2019-08-12 01:54:56 2192
1.基本处理思路第一步:建与mysql同构的oracle数据库实例,并更新数据。1.期望将mysql导出成与oracle通用的sql语句,通过该语句进行更新。2.如果1不能做到,可先将数据库结构(表结构等)导出,在通过insert语句,或execl(限制:最多只能6w多条记录)进行导出、导入。第二步:一边设计新库,一边写老库到新库的同步程序。1.通过dblink进行连接,用存贮过程同步。2.对于数据量为千万级的表需要单独(特别)处理。2.mysql到ora
系统 2019-08-12 01:54:40 2192
首先装好这两个软件。之后要修改你的C:\Ora10InstantClient(以我的为例)下的tnsnames.ora文件,来增加数据库。修改如下:添加:DEMO=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.3.162)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DEMO)))这样就把一个远程的数据库添加到本机的客户端中了。然后打开PL
系统 2019-08-12 01:53:41 2192
Producedure&FunctioncreateorreplacepackageTestPackis--Author:ADMINISTRATOR--Created:2012-4-2714:01:29--Purpose:测试typemyCursorisrefcursor;procedureTestPro(p_Condvarchar2,p_ReCursor0outmyCursor,p_ReCountoutnumber);FUNCTIONTestFunc(p
系统 2019-08-12 01:52:17 2192
一、出现症状1、使用sqlplus连接正常2、C#使用10g的ODP.NET连接时,报上面的错误二、原因1、Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写2、使用10G的ODP.NET时,会自动把密码转换成大写三、解决办法1、给连接字符串中密码使用加上引号,这样密码就不会转成大写了2、换成11G客户端3、修改数据库,禁用大小写敏感模式:ALTERSYSTEMSETSEC_CASE_SENSITIVE_LOGON=FALSEOra
系统 2019-08-12 01:51:50 2192