SQL语言艺术30则
1. 表中有些字段出现了空值,表明需要引入子类型。2. 性能拙劣的罪魁祸首,是错误的设计。3. 在...
explain plan&dbms_xplan(转)
EXPLAIN PLAN命令的输出结果是解决SQL效率低下问题的最重要的诊断工具之一。此命令加载一个工作表格(默认名称为PLAN_TABLE),表格中带有Oracle优化器为SQL语句计算的执行计划步骤。例如: EXPLA...
Oracle中SQL语句解析的步骤(转)
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。那么这两种解析有何不同之处呢?它们又分别是如何进行解析呢?Oracle内部解析的步骤又是如何进行的呢?下面我们就这些话题...
analyze分析的问题
ANALYZE always runs serially. ANALYZE calculates global statistics for partitioned tables and indexes instead of gathering them directly. This can lead to inaccuracies for some stati...
exist-in和关联子查询-非关联子查询
对于exist和in,大家的一致看法如下: 1.in是子查询为驱动表,外面的表为被驱动表,故适用于子查询结果集小而外面的表结果集大的情况。 2.exists是外面的表位驱动表,子查询里面...
是否应该启用索引压缩技术
--引用------------------------- 索引压缩适用于复合索引,即多个字段建立一个索引的情况,通过compress参数指定压缩哪些字段。 虽然压缩后的索引相对来说需要花费更多的CPU时...
普通表(heap table)和索引组织表(IOT)的区别
存储在堆中的表是无组织的(也就是说,只要有可用的空间,数据可以放在任何地方),千万不要以为堆组织表物理结构中记录是按照主键的顺序依次存放的(相反,这是IOT记录的物理存储方式)。 IOT...
对当前session进行sql_trace(转)
在当前session级设置sql_trace大多数时候我们使用sql_trace跟踪当前进程.通过跟踪当前进程可以发现当前操作的后台数据库递归活动(这在研究数据库新特性时尤其有效),研究SQL执行,发现后台错误等.在session级...
dba_tables的last_ddl_time列
在dba_objects里面有一列last_ddl_time,之前一直有个误解,认为只有当table的表结构发生了改变之后,才会修改该列的值。其实是只要对table进行了DDL操作,就会修改last_ddl_time的值。 &nbs...
Oracle 警告日志 (alert log) 内容(转)
Alert FileThealert file, oralert log, is aspecial trace file. The alert file of a database is a chronological log of messages and errors, which includes the following: All internal errors (OR...
oracle之位图索引
位图索引适用于低基数(low-cardinality)列,所谓低基数列就是指这个列只有很少的可取值。位图索引的问题:采用位图索引,一个键指向多行,可能数以百计甚至更多。如果更新一个位图索引键,那么这个键指向的数百条记录...