Oracle的Index-3(转)
Oracle的Index-3(转) -->Rounders | 06 八月, 2007 17:33Oracle的Index-3三讲,索引再好,不用也是白搭 抛开前面所说的,假设你设置了一个非常好的索引,任何傻瓜都知道应该使用它,但是Oracle 却偏偏不用,那么,需要做的第一件事情,是审视你的 sql 语句。 Oracle 要使用一个索引,有一些最基本的条件: 1, where 子句中的这个字段,必须是复合索引的第一个字段; 2, where 子句中的这个字段,不应该参与任何形式的计算 具体来讲,假设一个索引是按 f1, f2, f3的次序建立的,现在有一个 sql 语句, where 子句是 f2 = : var2, 则
Oracle的Index-1(转)
Oracle的Index-1(转)-->Rounders | 06 八月, 2007 17:31Oracle的Index-1作者:heyongzhou | 来自:不详 | 点击:387 | 发布:2001-11-8 索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 Developer 们也经常与它打交道,但笔者发现,还是有不少的人对它存在误解,因此针对使用中的常见问题,讲三个问题。此文所有示例所用的数据库是 Oracle 8.1.7 OPS on HP N series ,示例全部是真实数据,读者不需要注意具体的数据大小,而应注意在使
Oracle的Index-2(转)
Oracle的Index-2(转) Rounders | 06 八月, 2007 17:33 Oracle的Index-2 二讲,索引也有好坏 索引有 B tree 索引, Bitmap 索引, Reverse b tree 索引, 等。最常用的是 B tree 索引。 B 的全称是Balanced , 其意义是,从 tree 的 root 到任何一个leaf ,要经过同样多的 level. 索引可以只有一个字段(Single column), 也可以有多个字段(Composite),最多32个字段,8I 还支持 Function-based index. 许多developer 都倾向于使用单列B 树索引。 所谓索引的好坏是指: 1,索引不是越多越好。特别是大量从来或者几乎不用的索引,对系统
dba常用sql-3(转)
dba常用sql-3(转) -->Rounders | 06 八月, 2007 16:43dba常用sql-3//下面的脚本可以用来计算FSFI值碎片: select tablespace_name,sqrt(max(blocks)/sum(blocks))*(100/sqrt(sqrt(count(blocks)))) FSFIfrom dba_free_spacegroup by tablespace_name order by FSFI; //重建表脚本create table zhang.favour_menu_bak as select * from zhang.favour_menu ;truncate table zhang.favour_menu ;insert into zhang.favour_menu select * from favour.favour_menu ;commit;CREATE INDEX "TX_TEST"."PK_DETAIL_ACC_ITEM_2&qu
dba常用sql-2(转)
dba常用sql-2(转) Rounders | 06 八月, 2007 16:39 常用sql2 //统计每个当前用户的命中率 SELECT USERNAME, V$SESSION.SID, CONSISTENT_GETS, BLOCK_GETS, PHYSICAL_READS, 100*(CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS)/(CONSISTENT_GETS+BLOCK_GETS) HitRatio FROM V$SESSION,V$SESS_IO WHERE V$SESSION.SID=V$SESS_IO.SID AND (V$SESS_IO.CONSISTENT_GETS+V$SESS_IO.BLOCK_GETS)>0 AND V$SESSION.USERNAME IS NOT NULL; //累积命中率 select sum(decode(name,'consistent gets',value,0)) consistent, sum(decode(name,'db bl
dba常用sql-1(转)
dba常用sql-1(转) Rounders | 06 八月, 2007 16:31 表空间空余,迅速收缩临时段,查看索引定义,查看裸设备IO,查看表的物理大小等DBA常用sql。 () //表空间空余察看 select segment_name,bytes from dba_segments where bytes>100000000 and tablespace_name='TS_LIST07'; select bytes from dba_free_space where tablespace_name='TS_LIST07' order by bytes; SELECT TABLESPACE_NAME,MAX(BYTES) FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME ORDER BY MAX(BYTES); select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(
Oracle初学者问题8(转)
Oracle初学者问题8(转) 131>.返回参数一年中的第几天的写法: SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL; 132>.返回午夜和参数中指定的时间值之间的秒数的写法: SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL; 133>.返回参数中一年的第几周的写法: SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL; 大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简 单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进步! 对ORACLE
Oracle初学者问题9(转)
Oracle初学者问题9(转) 141. 如何删除重复记录? DELETE FROM TABLE_NAME WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2); 142. 如何快速编译所有视图? SQL >SPOOL VIEW1.SQL SQL >SELECT ‘ALTER VIEW ‘||TNAME||’ COMPILE;’ FROM TAB; SQL >SPOOL OFF 然后执行VIEW1.SQL即可。 SQL >@VIEW1.SQL; 143. ORA-01555 SNAPSHOT TOO OLD的解决办法 增加MINEXTE
Oracle初学者问题7(转)
Oracle初学者问题7(转) 111. tablespace 是否不能大于4G? 没有限制. 112. 返回大于等于N的最小整数值? SELECT CEIL(N) FROM DUAL; 113. 返回小于等于N的最小整数值? SELECT FLOOR(N) FROM DUAL; 114. 返回当前月的最后一天? SELECT LAST_DAY(SYSDATE) FROM DUAL; 115. 如何不同用户间数据导入? IMP SYSTEM/MANAGER FILE=AA.DMP FROMUSER=USER_OLD TOUSER=USER_NEW ROWS=Y INDEXE S=Y ; 116. 如何找数据库表的主键字段的名称?
Oracle初学者问题6(转)
Oracle初学者问题6(转) 121>.取时间点的月份的写法: SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL; 122>.取时间点的日的写法: SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL; 123>.取时间点的时的写法: SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL; 124>.取时间点的分的写法: SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL; 125>.取时间点的秒的写法: SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL; 126>.取时间点的日期的写法: SELECT TRUNC(SYSDA
Oracle初学者问题5(转)
Oracle初学者问题5(转)41. 如何给表、列加注释? SQL>comment on table 表 is '表注释'; 注释已创建。 SQL>comment on column 表.列 is '列注释'; 注释已创建。 SQL> select * from user_tab_comments where comments is not null; 42. 如何查看各个表空间占用磁盘情况? SQL> col tablespace format a20 SQL> select .file_id 文件ID号, .tablespace_name 表空间名, .bytes 字节数, (b.bytes-sum(nvl(a.bytes,0))) 已使用,
Oracle初学者问题4(转)
Oracle初学者问题4(转) 31. SQLPLUS下如何修改编辑器? DEFINE _EDITOR="<编辑器的完整路经>" -- 必须加上双引号 来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它 永久有效。 32. ORACLE产生随机函数是? DBMS_RANDOM.RANDOM 33. LINUX下查询磁盘竞争状况命令? Sar -d 33. LINUX下查询CPU竞争状况命令? ar -r 34. 查询当前用户对像? SELECT * FROM USER_OBJECTS; SELECT * FRO
Oracle初学者问题3(转)
Oracle初学者问题3(转) 21. 在ORACLE TABLE中如何抓取MEMO类型栏位为空的资料记录? elect remark from oms_flowrec where trim(' ' from remark) is not null ; 22. 如何用BBB表的资料去更新AAA表的资料(有关联的字段) UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) W HERE BBB.DPT_NO IS NOT NULL; 23. P4电脑安装方法 将SYMCJIT.DLL改为SYSMCJIT.OLD 24. 何查询SERVER是不是OPS? SELECT * FROM V$OPTION; 如果PARA
Oracle初学者问题2(转)
Oracle初学者问题2(转)-->Rounders | 06 八月, 2007 17:41Oracle初学者问题2(转) 11. 怎样得到触发器、过程、函数的创建脚本? desc user_source user_triggers 12. 怎样计算一个表占用的空间的大小? elect owner,table_name, NUM_ROWS, BLOCKS*AAA/1024/1024 "Size M", EMPTY_BLOCKS, LAST_ANALYZED from dba_tables where table_name='XXX'; Here: AAA is the value of db_block_size ; XXX is the table name you want
Oracle初学者问题1(转)
Oracle初学者问题1(转)1. Oracle安装完成后的初始口令? internal/oracle ys/change_on_install ystem/manager cott/tiger ysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? administrator/administrator 3. oracle 8.0.5怎么创建数据库? 用orainst。如果有motif界面,可以用orainst /m 4. oracle 8.1.7怎么创建数据库? dbassist 5. oracle 9i 怎么创建数据库? dbca 6. oracle中的裸设备指的是什么? 裸设备就是