-
oracle 需要当心的WHERE子句
所属栏目:[站长百科] 日期:2021-01-11 热度:87
某些SELECT 语句中的WHERE子句不使用索引. 这里有一些例子. 在下面的例子里,‘!=’ 将不使用索引. 记住,索引只能告诉你什么存在于表中,而不能告诉你什么不存在于表中. 不使用索引: SELECT ACCOUNT_NAME FROM TRANSACTION WHERE AMOUNT !=0; 使用索引: SELE[详细]
-
oracle用WHERE替代ORDER BY
所属栏目:[站长百科] 日期:2021-01-11 热度:196
ORDER BY 子句只在两种严格的条件下使用索引. ORDER BY中所有的列必须包含在相同的索引中并保持在索引中的排列顺序. ORDER BY中所有的列必须定义为非空. WHERE子句使用的索引和ORDER BY子句中所使用的索引不能并列. 例如: ????? 表DEPT包含以下列: ???????[详细]
-
oracle优化EXPORT和IMPORT
所属栏目:[站长百科] 日期:2021-01-11 热度:185
使用较大的BUFFER(比如10MB,10,240,000)可以提高EXPORT和IMPORT的速度. ORACLE将尽可能地获取你所指定的内存大小,即使在内存不满足,也不会报错.这个值至少要和表中最大的列相当,否则列值会被截断. 译者按: 可以肯定的是,增加BUFFER会大大提高EXPORT,IMPORT[详细]
-
oracle连接多个扫描
所属栏目:[站长百科] 日期:2021-01-11 热度:68
如果你对一个列和一组有限的值进行比较,优化器可能执行多次扫描并对结果进行合并连接. 举例: ??? SELECT * ??? FROM LODGING ??? WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’); ??? 优化器可能将它转换成以下形式 ??? SELECT * ??? FROM LODGING ???[详细]
-
oracle避免改变索引列的类型
所属栏目:[站长百科] 日期:2021-01-11 热度:185
当比较不同数据类型的数据时,ORACLE自动对列进行简单的类型转换. 假设 EMPNO是一个数值类型的索引列. SELECT … FROM EMP WHERE EMPNO = ‘123’ 实际上,经过ORACLE类型转换,语句转化为: SELECT … FROM EMP WHERE EMPNO = TO_NUMBER(‘123’) 幸运的是,类[详细]
-
使用提示(Hints)
所属栏目:[站长百科] 日期:2021-01-11 热度:97
对于表的访问,可以使用两种Hints. FULL 和 ROWID FULL hint 告诉ORACLE使用全表扫描的方式访问指定表. 例如: ?? SELECT /*+ FULL(EMP) */ * ?? FROM EMP ?? WHERE EMPNO = 7893; ?? ROWID hint 告诉ORACLE使用TABLE ACCESS BY ROWID的操作访问表. ?? 通常,[详细]
-
oracle CBO下使用更具选择性的索引
所属栏目:[站长百科] 日期:2021-01-11 热度:94
基于成本的优化器(CBO,Cost-Based Optimizer)对索引的选择性进行判断来决定索引的使用是否能提高效率. 如果索引有很高的选择性,那就是说对于每个不重复的索引键值,只对应数量很少的记录. 比如,表中共有100条记录而其中有80个不重复的索引键值. 这个索引的[详细]
-
oracle多个平等的索引
所属栏目:[站长百科] 日期:2021-01-11 热度:131
当SQL语句的执行路径可以使用分布在多个表上的多个索引时,ORACLE会同时使用多个索引并在运行时对它们的记录进行合并,检索出仅对全部索引有效的记录. 在ORACLE选择执行路径时,唯一性索引的等级高于非唯一性索引. 然而这个规则只有 当WHERE子句中索引列和常[详细]
-
oracle pivot / unpivot
所属栏目:[站长百科] 日期:2021-01-11 热度:111
1.pivot 行转列 ? ?pivot 用法: select ...from ...pivot -- 注意:在from 与where 之间的关键字 (pivot_clause pivot_for_clause pivot_in_clause)where ...(1)pivot_clause:定义要进行聚集的列;(2)pivot_for_clause:定义要分组和转置的列;(3)pivot_in[详细]
-
oracle避免在索引列上使用NOT
所属栏目:[站长百科] 日期:2021-01-11 热度:129
通常, 我们要避免在索引列上使用NOT,NOT会产生在和在索引列上使用函数相同的 影响. 当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描. ?? 举例: ?? 低效: (这里,不使用索引) ?? SELECT … ?? FROM DEPT ?? WHERE DEPT_CODE NOT = 0; ?? ?? 高效:[详细]
-
oracle不明确的索引等级
所属栏目:[站长百科] 日期:2021-01-11 热度:114
当ORACLE无法判断索引的等级高低差别,优化器将只使用一个索引,它就是在WHERE子句中被列在最前面的. ?? ??举例: ???? DEPTNO上有一个非唯一性索引,EMP_CAT也有一个非唯一性索引. ???? ???? SELECT ENAME ???? FROM EMP ???? WHERE DEPTNO 20 ???? AND EMP_C[详细]
-
oracle使用TKPROF 工具来查询SQL性能状态
所属栏目:[站长百科] 日期:2021-01-11 热度:95
SQL trace 工具收集正在执行的SQL的性能状态数据并记录到一个跟踪文件中. 这个跟踪文件提供了许多有用的信息,例如解析次数.执行次数,CPU使用时间等.这些数据将可以用来优化你的系统. 设置SQL TRACE在会话级别: 有效 ?? ALTER SESSION SET SQL_TRACE TRUE[详细]
-
oracle 识别’低效执行’的SQL语句
所属栏目:[站长百科] 日期:2021-01-11 热度:122
用下列SQL工具找出低效SQL: ?SELECT EXECUTIONS,DISK_READS,BUFFER_GETS, ??????? ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio, ??????? ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run, ??? ????SQL_TEXT FROM?? V$SQLAREA WHERE? EXECUTIO[详细]
-
Oracle 执行计划
所属栏目:[站长百科] 日期:2021-01-11 热度:57
oracle官网说明文档:链接?https://docs.oracle.com/cd/B19306_01/server.102/b14211/ex_plan.htm#g42231 oracle讲座——pdf文档:链接?https://www.oracle.com/technetwork/cn/community/developer-day/explain-sql-execution-plan-433658-zhs.pdf ? 一.[详细]
-
细数基于ORACLE 数据库环境的常见数据灾难解决方式
所属栏目:[站长百科] 日期:2021-01-06 热度:187
一、故障描述:基于ORACLE 数据库环境的常见数据灾难 故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。 二、解决方案 ◆检测 1、检测是否存在[详细]
-
(转)PLSQL创建Oracle定时任务
所属栏目:[站长百科] 日期:2021-01-06 热度:135
?阅读目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、创建任务执行的存储过程,如名称为TestWorkJob,向测试表中插入数据 2、定时器对应的DBMS_Jobs文[详细]
-
oracle中常用的 SQL语句中进行时间加减
所属栏目:[站长百科] 日期:2021-01-06 热度:179
一: numtodsinterval(x,c)?,x是一个数字,c是一个字符串, 表明x的单位,这个函数把x转为interval day to second数据类型 常用的单位有 (‘day‘,‘hour‘,‘minute‘,‘second‘) example SQL select sysdate,sysdate+numtodsinterval(3,‘hour‘) as res f[详细]
-
ORACLE磁盘空间占满解决
所属栏目:[站长百科] 日期:2021-01-06 热度:83
方案一:清理Oracle服务端目录下,diag日志目录下,的各种日志 如:E:appAdministratordiag 方案二:缩放临时表空间 select file#,name from v$datafile; 获得目录结果:E:APPADMINISTRATORORADATACLOTADBCLOTA_DATA.DBF 查看各空间的使用率,根据[详细]
-
oracle的分页查询
所属栏目:[站长百科] 日期:2021-01-06 热度:163
使用:????? --rownum关键字:oracle对外提供的自动给查询结果编号的关键字,与每行的数据没有关系。??????? --注意:rownum关键字只能做 =的判断,不能进行 =的判断????? select rownum,e.* from emp e;????? --查询员工信息的前5条数据 第一页数据?????[详细]
-
ORACLE触发器的自治事务的注意事项
所属栏目:[站长百科] 日期:2021-01-06 热度:147
直接上代码: Create OR replace Trigger TR_ROBXMX_CLDJBHHXAfter INSERT OR UPDATE OR DELETE ON ROBXMX1 --要监测的表FOR EACH ROWDECLARE Pragma Autonomous_Transaction;Begin IF INSERTING THEN Update robxmx1 set robxmx_bh=‘‘ where robxmx_nm=[详细]
-
Oracle 实现与mysql中find_in_set函数的兼容
所属栏目:[站长百科] 日期:2021-01-06 热度:126
Oracle 实现与mysql中find_in_set函数的兼容 2018年03月23日 17:35:00?weixin_33757911?阅读数 176 ? find_in_set(str,strList),寻找str在strList中的位置。 sql代码: ? -- 返回结果为1, ? SELECT FIND_IN_SET(‘1‘,‘1,2,3‘) FROM DUAL; sql代码: ?[详细]
-
oracle 11g 闪回测试过程
所属栏目:[站长百科] 日期:2021-01-06 热度:127
SQL select flashback_on from v$database; FLASHBACK_ON ------------------------------------------------------ YES SQL set linesize 3000; SQL select * from scott.dept; DEPTNO DNAME LOC ---------- ------------------------------------------[详细]
-
exp imp 导入Oracle的dmp文件报编码错误
所属栏目:[站长百科] 日期:2021-01-06 热度:160
一、问题:这个是因为导出端的数据库编码和导入端的数据库编码不一致,我得导出端a是ZHS16GBKUNIX这种编码格式,而导入端b的是AL32UTF8这种编码格式,从而如果从a导出dmp文件,再导入到b端数据库时,会报错出编码不一致,数据不能完整的导入进去 二、分析[详细]
-
Oracle 11g Health Monitor Checks
所属栏目:[站长百科] 日期:2021-01-06 热度:120
说明: Health Monitor是11g引入的用于检查数据库的各个组件(包括文件、内存、事务处理完整性、 元数据和进程使用情况)。这些检查器将生成检查结果报表以及解决问题的建议。 可在数据库脱机(nomount)和联机(open或mount)的情况下执行,运行状况检查都[详细]
-
ORACLE Direct NFS安装
所属栏目:[站长百科] 日期:2021-01-06 热度:71
DNFS由Oracle 11g引入的新特性,旨在提高系统自带NFS的IO性能。DNFS相对于系统级NFS的降低了网络和IO传输的消耗。普通NFS的IO能力不高的原因是: 1.低效的数据传输,多链路实现较难; 2.系统的RPC堆栈IO以队列方式实现,限制了发送到TCP层的数据; 3.oracle[详细]

浙公网安备 33038102330554号