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 2277
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧!网上形形色色删除重复数据的法方就是没见过这类: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 2277
数据库虽然在学校系统学习过,但是在工作中真正使用起来收获又是不一样的,今天起打算将项目中使用到的技术再分享出来,不以书本的顺序,只从碰到的问题为顺序。虽然不是纯粹的数据库工程师,但是每个程序员总免不了要写sql语句。最近一直在写服务,从数据库读取数据,但是当项目上线之后再回过头来看这些sql语句,总发现有很多是相似的,不如where条件有很多是一样的。这让我想起一句话,大意是:如果程序中有很多相同的代码,那么尽量去提取出来(当然是尽量,不是一定要提取,这个
系统 2019-08-12 01:53:58 2277
转载自:http://blog.csdn.net/nsj820/article/details/6573525<一>、ORACLE数据库启动模式1、启动SQL*PLUS不与数据库连接SQLPLUS/NOLOG2、以SYSDBA角色与Oracle连接CONNECTusername/passwordASSYSDBA3、启动实例1>、启动一个实例,装配和打开一个数据库STARTUP;或STARTUPPFILE='d:/oracle/admin/mydb/scri
系统 2019-08-12 01:52:58 2277
想导入一个oracle11g的数据库到自己本地电脑上,直接exp导出的话拿到自己电脑上提示错误,于是在网上找方法方法如下:一、在11g服务器上,使用expdp命令备份数据11g导出语句:EXPDPUSERID='facial/facial@orclassysdba'schemas=facialdirectory=DATA_PUMP_DIRdumpfile=test.dmplogfile=test.logversion=10.2.0.1.0其中,红色文字部分
系统 2019-08-12 01:33:01 2277
Oracle闪回操作1.记录当前时间或SCN在数据库变动前记录时间或SCNSQL>selectto_char(sysdate,'YYYY-MM-DDHH24:mi:ss')fromdual;SQL>selectcurrent_scnfromv$database;2.开启闪回开启闪回需要数据库在归档模型下,所以首先需要开启归档。并且在mount状态下。首先查看是否开启闪回:SQL>selectflashback_onfromV$database;FLASHB
系统 2019-08-12 01:55:28 2276
ADDM通过检查和分析AWR采集的数据来推断Oracle在数据库中可能出现的问题。并给出优化建议。获得ADDM例如,下面的方法:@?/rdbms/admin/addmrpt.sql以下能够看一个样例:--第一步:创建測试用的表droptabletcascadeconstraintspurge;createtabletASSELECT*FROMdba_objects;--第二步:快照execdbms_workload_repository.create_sn
系统 2019-08-12 01:55:12 2276
创建表:create;删除表:drop;查询:select;增加:insertinto;删除列:delect;修改:update;分组:groupby;表连接:join、leftjoin、rightjoin、crossjoin;去除重复:distinct;表连接过滤:having;视图(虚表):view;序列号:rownum;字段属性:constratint;索引:index;序列:sequence;PL_SQL:declare-begin-end;游标:
系统 2019-08-12 01:54:56 2276
1方便起见一般:执行如下即可不用往下看:234①启用行移动功能56altertabletbl_aenablerowmovement;78②闪回表数据到某个时间点910flashbacktabletbl_atotimestampto_timestamp('2013-07-1915:10:00','yyyy-mm-ddhh24:mi:ss');1112详解:131415利用ORACLE的闪回功能恢复数据1617一、闪回表数据181920从9i开始,Oracle
系统 2019-08-12 01:54:50 2276
在触发器中操作触发此触发器的表,用pragmaautonomous_transaction选项。1、为何使用自治事务无法回滚的审计:一般情况下利用触发器禁止某些对表的更新等操作时,若记录日志,则触发器最后抛出异常时会造成日志回滚。利用自治事务可防止此点。避免变异表:即在触发器中操作触发此触发器的表在触发器中使用ddl写数据库:对数据库有写操作(insert、update、delete、create、alter、commit)的存储过程或函数是无法简单的用s
系统 2019-08-12 01:54:38 2276
不需要新建对应的用户和表空间,但要注意不一定你所有需要的文件都在oradata下面,需要确定一下,不要漏了--控制文件selectnamefromv$controlfile;--临时文件(可以不需要)selectnamefromv$tempfile;--数据文件selectnamefromv$datafile;--重作日志文件selectmemberfromv$logfile;--参数文件selectvaluefromv$parameterwherenam
系统 2019-08-12 01:54:31 2276
首先在web.config文件中添加然后把一下的代码考到一个空的cs中文件中,就能用了。usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Secu
系统 2019-08-12 01:54:17 2276
9月8日周六下午2:00,我们组织了一次关于Oracle数据库的技术沙龙.盖国强被俺"捆绑"来做嘉宾讲师.(非常感谢他对我们活动的支持,以及认真的PPT准备和长达3小时的技术交流)这次沙龙总共来了70多位ZDNet网友,其中有很多比较熟悉的技术圈朋友,不过由于时间紧也没能与他们一一打招呼.这次活动的一个易拉宝。。。看到软件频道没有。。。不过现在这里面应该再增加一个开发频道了:)我的同事们都很高兴能和这位国内优秀的Oracle专家照相,哈哈:),软件频道编辑
系统 2019-08-12 01:53:54 2276
第三十七讲ifthenifelsethenifelsethenelsifelsifcreateorreplaceprocedurepro1(v_in_enamevarchar2)is--定义工资变量v_salemp.sal%type;beginselectsalintov_salfromempwhereename=发——沁+;ifv_sal<2000thenupdateempsetsal=sal*1.1whereename=v+in+ename;endif
系统 2019-08-12 01:32:20 2276
经常遇到PL/SQLDeveloper等依赖Client的工具无法连接Oracle数据库服务器的问题。至今也没完全理清楚,先发个帖总结一下目前的方法,后面会不断完善。方法一:重启Oracle服务器端相关服务,包括...TNSListener,所用的数据库实例的服务。可直接在Windows的“服务”中重启。或者(可使用的命令):lsnrctlstoplsnrctlstartlsnrctlreloadsqlplus/assysdba;startup;这个方法试
系统 2019-08-12 01:55:31 2275