-
oracle多个平等的索引
所属栏目:[百科] 日期:2021-01-18 热度:88
当SQL语句的执行路径可以使用分布在多个表上的多个索引时,ORACLE会同时使用多个索引并在运行时对它们的记录进行合并,检索出仅对全部索引有效的记录. 在ORACLE选择执行路径时,唯一性索引的等级高于非唯一性索引. 然而这个规则只有 当WHERE子句中索引列和常量[详细]
-
oracle CBO下使用更具选择性的索引
所属栏目:[百科] 日期:2021-01-18 热度:102
基于成本的优化器(CBO,Cost-Based Optimizer)对索引的选择性进行判断来决定索引的使用是否能提高效率. 如果索引有很高的选择性,那就是说对于每个不重复的索引键值,只对应数量很少的记录. 比如,表中共有100条记录而其中有80个不重复的索引键值. 这个索引的选[详细]
-
使用提示(Hints)
所属栏目:[百科] 日期:2021-01-18 热度:98
对于表的访问,可以使用两种Hints. FULL 和 ROWID FULL hint 告诉ORACLE使用全表扫描的方式访问指定表. 例如: ?? SELECT /*+ FULL(EMP) */ * ?? FROM EMP ?? WHERE EMPNO = 7893; ?? ROWID hint 告诉ORACLE使用TABLE ACCESS BY ROWID的操作访问表. ?? 通常,你[详细]
-
Oracle 执行计划
所属栏目:[百科] 日期:2021-01-18 热度:99
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 识别’低效执行’的SQL语句
所属栏目:[百科] 日期:2021-01-18 热度:80
用下列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? EXECUTIONS[详细]
-
oracle使用TKPROF 工具来查询SQL性能状态
所属栏目:[百科] 日期:2021-01-18 热度:199
SQL trace 工具收集正在执行的SQL的性能状态数据并记录到一个跟踪文件中. 这个跟踪文件提供了许多有用的信息,例如解析次数.执行次数,CPU使用时间等.这些数据将可以用来优化你的系统. 设置SQL TRACE在会话级别: 有效 ?? ALTER SESSION SET SQL_TRACE TRUE 设[详细]
-
oracle不明确的索引等级
所属栏目:[百科] 日期:2021-01-18 热度:105
当ORACLE无法判断索引的等级高低差别,优化器将只使用一个索引,它就是在WHERE子句中被列在最前面的. ?? ??举例: ???? DEPTNO上有一个非唯一性索引,EMP_CAT也有一个非唯一性索引. ???? ???? SELECT ENAME ???? FROM EMP ???? WHERE DEPTNO 20 ???? AND EMP_CAT[详细]
-
oracle避免在索引列上使用NOT
所属栏目:[百科] 日期:2021-01-18 热度:123
通常, 我们要避免在索引列上使用NOT,NOT会产生在和在索引列上使用函数相同的 影响. 当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描. ?? 举例: ?? 低效: (这里,不使用索引) ?? SELECT … ?? FROM DEPT ?? WHERE DEPT_CODE NOT = 0; ?? ?? 高效: ([详细]
-
使用调试信息编译Oracle模式
所属栏目:[百科] 日期:2021-01-18 热度:52
我们有一个脚本,可以在Oracle 12.1.0.2.0数据库上创建许多新的Oracle包,触发器,视图和函数. 之后,编译所有这些对象.我们首先使用DBMS_UTILITY.COMPILE_SCHEMA来编译所有这些对象.但是,COMPILE_SCHEMA不会添加调试信息.我们还想添加调试信息. 最好的方法是什[详细]
-
macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据
所属栏目:[百科] 日期:2021-01-18 热度:122
我做了一个小应用程序,它应该连接到在虚拟机器内运行的远程Oracle数据库(W8.1). 在一个成功的连接上,应该弹出一个showmessage. 我完成了以下步骤以确保我的应用程序能够连接: installing Oracle Instantclient on Mac OS/X without setting environment var[详细]
-
oracle – 如何知道数据库连接的数量
所属栏目:[百科] 日期:2021-01-18 热度:183
请注意,即使它看起来非常相似,但这个链接不是重复的问题: How to list active / open connections in Oracle? 我不是在询问会话数量,而是询问连接数量.我知道我可以查询v $session视图,但我不知道有多少连接在那里使用.如果有办法从中衍生出来,请赐教. 编辑[详细]
-
oracle – 在不同用户下创建的索引
所属栏目:[百科] 日期:2021-01-18 热度:101
我在一个表列上创建了一个索引作为sys用户,因为我没有提到它在sys模式下创建的模式名称.当我作为具有对表的读访问权限的不同用户运行查询时,我没有看到正在使用的索引.如果索引是在不同的模式下创建的,请告诉我是否在oracle中忽略索引? 解决方法 没有特定于[详细]
-
oracle – ORA-00922:缺少或无效选项
所属栏目:[百科] 日期:2021-01-18 热度:199
在Toad 9中,执行’SET DEFINE OFF;’我收到错误’ORA-00922:丢失或无效选项’ 解决方法 或者,您可以这样做: 导航到查看 TOAD选项然后转到“执行/编译”节点/项并取消选中“提示替换变量”选项. 或者,对于编辑器级别更改,右键单击编辑器并取消选中“提示替[详细]
-
oracle如何在内部存储带时区的时间戳
所属栏目:[百科] 日期:2021-01-18 热度:148
基于Oracle文档,它在数字方面内部存储时区的不同部分和时区.我读了这篇文章 http://www.orafaq.com/wiki/Timestamp,它解释了时间戳内部格式的算法.所以我做了一个简单的测试来验证它. SQL create table tz_test(id number,tz timestamp with time zone); Tab[详细]
-
在Oracle SQL Developer Autotrace中,LAST_CR_BUFFER_GETS的含义
所属栏目:[百科] 日期:2021-01-18 热度:198
请解释Oracle SQL Developer Autotrace视图中显示的“LAST_CR_BUFFER_GETS”列的含义和含义. 解决方法 正如@a_horse_with_no_name在评论中所回答的,每 this Oracle doc它是: Number of buffers retrieved in consistent mode “一致”一词用作技术术语,与“[详细]
-
database – 将oracle10g数据dmp文件导入oracle 11g
所属栏目:[百科] 日期:2021-01-18 热度:55
我正在尝试导入使用oracle 10g生成的dmp文件,这是我得到的导出日志: Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit ProductionWith the Partitioning,OLAP,Data Mining and Real Application Testing optionsExport do[详细]
-
Oracle选择性/基数
所属栏目:[百科] 日期:2021-01-18 热度:161
根据这个: Selectivity is the value between 0 and 1,and it is the fraction of rows returned after applying a filter on the table. For example if a table has 10,000 rows and the query returns 2601 rows,the selectivity would be 2601/10000 or[详细]
-
在Oracle SQL /分页中选择结果的范围(限制)
所属栏目:[百科] 日期:2021-01-18 热度:77
假设我们有下表: CREATE TABLE "ARTICLE_COUNTER_STATISTICS_M"( "ID" NUMBER(19,0) NOT NULL ENABLE,"ITEMCOUNT" NUMBER(19,0),"VERSION" TIMESTAMP (6) DEFAULT SYSTIMESTAMP) 唯一约束是ID和VERSION字段. 可能在DB中的某些行的示例(时间戳对于所有记录始[详细]
-
如何从表中分离分区并将其附加到oracle中的另一个分区?
所属栏目:[百科] 日期:2021-01-17 热度:195
我有一张包含大量数据的表(比如数百万条记录,只是一个案例研究!)5年,每年都有一个分区.现在我想保留最近2年的数据,并将剩下的3年数据转移到一个名为archive的新表中? 什么是理想的方法,最短的停机时间和高性能? 解决方法 alter table exchange partition[详细]
-
oracle – 在日期中使用通配符搜索查询
所属栏目:[百科] 日期:2021-01-17 热度:137
我正在尝试根据日期搜索数据库以获取记录.但搜索基于月份和年份.即mm / yyyy和dd是外卡. 我的搜索查询如下所示: Select ucid,uc_name,From (UC_Table1)where UC_Date like To_Date('11/*/2011','mm/dd/yyyy') 这给了我以下错误: ORA-01858:找到一个非数字[详细]
-
在Oracle过程中实现多线程
所属栏目:[百科] 日期:2021-01-17 热度:188
我正在研究Oracle 10gR2. 这是我的问题 – 我有一个程序,让我们调用它* proc_parent *(在一个包内)应该调用另一个程序,让我们调用它* user_creation *.我必须在循环中调用* user_creation *,这是从表中读取一些列 – 这些列值作为参数传递给* user_creation[详细]
-
Oracle SQL – 可以在检查约束中使用CASE来确定数据属性吗?
所属栏目:[百科] 日期:2021-01-17 热度:131
我正在使用Oracle 10g,我想将约束应用于一个表,其中为一列输入的值确定另一列是IS NULL还是IS NOT NULL. Column1只能包含1或0; Column2是VARCHAR2(255). 我知道以下工作: CONSTRAINT ck_1 CHECK ((col1=1 AND col2 IS NOT NULL) OR (col1=0 AND col2 IS NUL[详细]
-
Oracle – 审计跟踪
所属栏目:[百科] 日期:2021-01-17 热度:70
oracle是否将Audit Trail作为内置功能? 我是否需要为审核日志目的创建单独的表来捕获INSERT,UPDATE和DELETE更改? 解决方法 是的,Oracle确实支持审计.您不需要自己创建审计表,但是您需要配置审计设置(即要审计的表/用户/查询). http://download.oracle.com/[详细]
-
Oracle – 验证用户和密码而不打开另一个连接?
所属栏目:[百科] 日期:2021-01-17 热度:67
是否有一些函数/过程/包验证Oracle中的用户名和密码(来自db中存在的用户)? 背景:我们想要创建一个使用连接池的Web应用程序.由于传统的6i应用程序,所有用户都已存在于数据库中.因此,我们认为最好的方法是验证数据库的用户和密码,但我们不想硬编码网址并打开[详细]
-
Oracle:如何检测客户端进程终止,就像它适用于sqlplus一样?
所属栏目:[百科] 日期:2021-01-17 热度:138
我的应用程序中连接到Oracle 10g数据库时出现以下问题: 当我的客户端崩溃,或者通过任务管理器终止进程,或者客户端暂时失去连接时,v $session视图中的相应条目仍然存在. 现在,当我使用sqlplus连接数据库,并通过任务管理器杀死sqlplus.exe时,会话条目几乎立即[详细]
