关于索引取出数据的时间的测试
Tom说 ”从1000行的索引返回数据所用的时间与从一个100000行的索引结构中返回数据的时间是一样的。” 做一个测试吧……[@more@]SQL> create table test1 as select * from dba_objects; 表已创建。 SQL> insert into test1 select * from test1; 已创建68589行。 SQL> insert into test1 select * from test1; 已创建137178行。 SQL> insert into test1 select * from test1; 已创建274356行。 SQL> commit; 提交完成。 SQL>
关于HWM,delete与truncate
测试一我们建立一个表test1并向表中插入数据使表有一定的大小。SQL> create table test1 as select * from dba_objects;表已创建。SQL> insert into test1 select * from test1;已创建68624行。SQL> insert into test1 select * from test1;已创建137248行。SQL> insert into test1 select * from test1;已创建274496行。[@more@] SQL> commit;提交完成。我们查看下test1这个表占用的空间SQL> col tablename format a10SQL> select owner,segment_name tablename , bytes/1024/1024 from dba_segments where segm
连接≠会话 autotrace的‘秘密’
我们经常使用autotrace功能以查看SQL的执行计划,熟不知当我们开启autotrace功能时也开启了另一个session。 例1 我们以SYS用户登录并查看当前的session信息 [@more@] SQL> col username format a10 SQL> select username,sid,serial#,server,paddr,status from v$session where username='SYS'; USERNAME SID SERIAL# SERVER PADDR STATUS ---------- ---------- ---------- --------- -------- -------- SYS 170 5 DEDICATED 28691750 ACTIVE 我们
关于位图索引(bitmap index)
在传统的索引中采用的是一对一的对应关系,即一个索引条目就指向一行,二对于位图索引,一个索引条目则使用一个位图同时指向多行。位图索引适用于高度重复而且通常制度的数据,例如在一个上百万行的表中,某列的值仅仅只有几个值,比如Manager,Assistant,Engineer,Officer。你要频繁的统计有多少个officer,那么这样的情况就适合建立位图索引。但是在OLTP环境中则不适合建立位图索引。举一个简单的例子: ...[@more@]我们建立一个表tb1,包含2个字段dept和name。 SQL> create table tb1(dept varchar(10), name varchar(10));表已创
让所有用户均可查看<执行计划>
我们都知道 autotrace工具是可以显示所执行查询的解析计划(explain plan)以及所用的资源。我们先说一下autotrace的选项SET AUTOTRACE OFF --------------- 不生成AUTOTRACE 报告,这是缺省模式SET AUTOTRACE ON ---------------- 显示查询结果、执行计划和统计信息[@more@]SET AUTOTRACE ON EXPLAIN ------ 显示查询结果 及 执行计划 SET AUTOTRACE ON STATISTICS ---显示查询结果 及 统计信息 SET AUTOTRACE TRACEONLY -------不显示查询结果,仅显示执行计划及统计信息SET AUTOTRACE TRACE STAT -------不显示查询结果,仅显示统计信息
Sun Oracle Database Machine Server
2010年1月14日 10:30参加的一个Oracle 网络会议,介绍新产品Sun Oracle Database Machine Server下面是一些官方资料及部分PPT截图E Extreme Performance for Data Warehousing and OLTP ProcessingOr Oracle Exadata V2 is the world's fastest machine for both data warehousing and online transaction processing. The results show a quantum leap in performance over Oracle's previous generation Exadata machine including: 20x increase in random I/O 5x speedup in I/O bandwidth with FlashFire Technology
物化视图
Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。create materialized view [view_name]refresh [fast|complete|force][on [commit|demand] |start with (start_time) next (next_ti
数据文件?还是快捷方式?
使数据文件在不同目录,将数据文件的快捷方式存放在同一目录。指定数据文件的位置为数据文件快捷方式,这样是否可行呢?需在数据库处于mount状态或表空间offline状态使用语句alter tablesapce tbsp_name rename datafile '原目录' to '目标目录'测试1:UNIX环境SQL>create tablespace test datafile '/home/oracle/test' size 10mTablespace created.[oracle@localhost ~]$ ln -s /home/oracle/test /data/oracle/oradata/orcl/test[oracle@localhost ~]$ ll /data/oracle/oradata/orcl/total 1058244 ...[@more@]-rw-r----- 1 oracle
重定向 2>&1
command>filename 将command的结果重定向输出至filename,覆盖原内容。command>>filename 将将command的结果重定向输出至filename,追加至原内容末尾。我们都知道 command>filename 2>&1是将错误信息也输出到文件中,那么原理是怎样的呢?...[@more@]在shell中,文件描述符通常是:STDIN(输入),STDOUT(输入),STDERR(错误信息),即:0,1,2command>filename 2>&1 即将STDERR输出到STDOUT中再将STDOUT输出到指定文件中 这样也就实现了输出错误信息的效果即stderr -> stdout -> filename[root@localhost
bash&profile
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取....[@more@]~/.bash_logout:当每次退出系