ORACLE的表分析策略
对表进行分析,通常情况下可以对表,索引,列进行单独分析,或者进行组合分析,但这三者哪些是相对重要的,哪些分析显得不那么重要?通过本篇文章的实验相信大家也会对直方图有更一步的了解.
1.首先创建测试表,并插入100000条数据
SQL> create table test(id number,nick varchar2(30));
Table created.
SQL> begin
2 for i in 1..100000 loop
3 insert into test(id) values(i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
更新nick字段,使数据发生严重倾斜
SQL> update test set nick='abc' where rownum<99999;
99998 rows updated.
SQL> commit;
Commit complete.
SQL> create index idx_test_nick on test(nick);
Index created.
SQL> update test set nick='def' where nick is null;
2 rows updated.
SQL> commit;
Commit complete.
--只对索引进行分析
SQL> analyze index idx_test_nick compute statistics;
Index analyzed.
SQL> select index_name,LEAF_BLOCKS,DISTINCT_KEYS,NUM_ROWS from user_indexes where index_name='IDX_TEST_NICK';
INDEX_NAME LEAF_BLOCKS DISTINCT_KEYS NUM_ROWS
------------------------------ ----------- ------------- ----------
IDX_TEST_NICK 210 2 100000
SQL> select COLUMN_NAME,NUM_BUCKETS,num_distinct from USER_tab_columns where table_name='TEST';
COLUMN_NAME NUM_BUCKETS NUM_DISTINCT
------------------------------
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
一、什么是PL/SQL?
PL/SQL(Procedural Language/SQL)是对SQL的扩充,它吸收了近年来编程语言的许多最高设计特点:如数据封装性、信息隐蔽性、重载和例外处理等。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。
&nbs ......
很多时候,对数据库进行性能诊断可以使用SQL跟踪的方法,把一些信息记录在trace文件里以后分析。一般情况下我们可以通过初始化参数SQL_TRACE=TRUE来设置SQL跟踪。
我们也可以通过设置10046事件来进行SQL跟踪,并且可以设置不同的跟踪级别,比使用SQL_TRACE获得更多的信息。
Level 0 停用SQL跟踪,相当于SQL_T ......
bbed.exe 数据块浏览和编辑工具
dbv.exe 数据文件逻辑检测工具
exp.exe 数据导出工具
imp.exe 数据导入工具
mig.exe 数据库移植工具
nmumigrate.exe Data Gatherer移植工具
ocopy.exe ......