易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle表分析示例

drop table test;
select count(*) from test;
--创建测试表
create table test
(
id number(9),
nick varchar2(30)
);
--插入测试数据
begin
  for i in 1..100000 loop
        insert into test(id) values(i);
  end loop;
  commit;
end;
select * from test;
--更新nick字段,使数据发生严重倾斜
update test set nick='abc' where rownum<99999;
--创建索引
create index idx_test_nick on test(nick);
update test set nick='def' where nick is null;
--只对索引进行分析
analyze index idx_test_nick compute statistics;
select * from user_indexes;
--查看索引名,对应存储的数据块,不同的key数量,记录数(行数)的分析信息
select index_name, LEAF_BLOCKS, DISTINCT_KEYS, NUM_ROWS
  from user_indexes
 where index_name = 'IDX_TEST_NICK';
--dba_tab_col_statistics
--查看表的统计信息
select COLUMN_NAME, NUM_BUCKETS, num_distinct
  from USER_tab_columns
 where table_name = 'TEST';
select * from test where nick ='abc';
Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'TEST'
   2    1     INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)
select * from test where nick ='def';
Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'TEST'
   2    1     INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)
--由上可以看到,对索引分析之后,sql的执行路径都是基于规则的,索引的字段的偏移
--先根据索引找到rowid,然后再根据rowid读取记录,这个过程肯定比全表扫描读取记录要慢
--user_part_col_statistics  分区分析信息
--分析表的第二列nick
analyze table test compute stat


相关文档:

一个Oracle自定义聚集函数的例子

前天有人提了需求,想对某个字段进行按位的或操作。本来建议查询出来之后在应用程序里面处理,但是数据量比较大,觉得还是返回一个分组计算之后的值比较合适。
两个问题,一个是按为或的操作,这个参考了别人的文档,用bitand函数实现。 原文如下:
http://blog.chinahr.com/blog/hewy0526/post/112968
然后就是自定义的 ......

Oracle Exception

BEGIN
  SELECT ...
  SELECT ...
  SELECT ...
  ...
  EXCEPTION
  WHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors
  
  2、异常的分类
  
  有两种类型的异常,一种为内部异常,一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/ ......

ORACLE LOB 大对象处理

 
LOB大对象处理: 主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。 主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。
 
一.  Oracle中的LOB数据类型分类
 1,按存储数据的类型分:
  ①字符类型:
   ......

Oracle使用技巧及PL/SQL Developer配置

摘自:http://livenzhao.spaces.live.com/blog/cns!6E368BE9F6DDD872!595.entry
·PL/SQL Developer使用技巧
1、PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences-> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号