易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

Oracle数据库中的索引详解

一、 ROWID的概念
  存储
了row在数据文件中的具体位置:64位编码的数据,A-Z, a-z, 0-9, +, 和 /,
  row在数据块中的存储
方式
  SELECT ROWID, last_name from hr.employees WHERE department_id = 20;
  比如:OOOOOOFFFBBBBBBRRR
  OOOOOO:data object number, 对应dba_objects.data_object_id
  FFF:file#, 对应v$datafile.file#
  BBBBBB:block#
  RRR:row#
  Dbms_rowid包
  SELECT dbms_rowid.rowid_block_number('AAAGFqAABAAAIWEAAA') from dual;
  具体到特定的物理文件
  二、 索引的概念
  1、 类似书的目录结构
  2、 Oracle
的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度
  3、 索引直接指向包含所查询值的行的位置,减少磁盘I/O
  4、 与所索引的表是相互独立的物理结构
  5、 Oracle
自动使用并维护索引,插入、删除、更新表后,自动更新索引
--工作感觉中 所谓oracle自动维护在插入后,其实好像并非如此!不是oracle 独立的进程在 插入后开始维护
而是在插入这个SESSION中维护,在insert into   commit; 语句后维护。
  6、 语法:CREATE INDEX ind ......

oracle嵌套

一、嵌套表的定义:
    嵌套表是表中之表。一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。在某种意义上,它是在一个表中存储一对多关系的一种方法。考查一个包含部门信息的表,在任何时间内每个部门会有很多项目正在实施。在一个严格的关系模型中,将需要建立两个独立的表department和project.
    嵌套表允许在department表中存放关于项目的信息。勿需执行联合操作,就可以通过department表直接访问项目表中的记录。这种不经联合而直接选择数据的能力使得用户对数据访问更加容易。甚至在并没有定义方法来访问嵌套表的情况下,也能够很清楚地把部门和项目中的数据联系在一起。在严格的关系模型中,department和project两个表的联系需要通过外部关键字(外键)关系才能实现。
二、转一下别人的东西
浅析oracle嵌套表
2008-03-05 18:24
以前在做报表的时候会经常用到oracle的内存表(其实是oracle嵌套表的部分功能,这里在下边介绍)来提高性能。
利用oracle内存表进行临时运算通过ref cursor来返回我们想要的结果集。
open cur for select * from table(fun_to_table_rb1_1(cur_q ......

一次现场oracle 9i 性能调优

第一步
   对数据库整体做了一个了解
$ORACLE_HOME/bin/sqlplus "sys/sys061201 as sysdba" << EOF
spool peiyz_healthcheck_info.txt
set linesize 200
set pagesize 1000
set time on
set timing on
col owner for a10
col segment_name for a30
col index_name for a30
col table_name for a30
col colum_name for a30
col name for a60
col member for a50
col file_name for a50
col tablespace_name for a30
col ftime for a20
col username for a20
col default_tablespace for a40
col temporary_tablespace for a40
alter session set nls_date_format='yyyymmdd hh24:mi:ss';
show parameter instance_name
host hostname
select * from v$version;
select sum(bytes)/1024/1024 datafile_size_M from dba_data_files;
select sum(bytes)/1024/1024 tempfile_size_M from dba_temp_files;
show sga
show parameter db_block_size
select count(*) tablespace_count from dba_tablespaces;
select count(1) datafile_count from dba_data_files;
select count(1) tempfile_count from dba_temp_files;   ......

Oracle强行断开用户连接


首先查找目标用户的当前进程:  
select sid,serial# from v$session where username='ERP';   
查询结果:
sid serial#
222 123
122 233
强行断开用户连接:  
alter system kill session 'sid,serial';   
例如:    
alter system kill session '222,123'; 
......

Oracle字符集


      很多人都碰到过因为字符集不同而使数据导入失败的情况。这涉及三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。
  1、查询oracle server端的字符集
  有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
      SQL> select userenv(‘language’) from dual;
  结果类似如下:AMERICAN _ AMERICA. ZHS16GBK
  2、如何查询dmp文件的字符集
  用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:
  SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
  ZHS16GBK
  如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在unix主机上):
  cat exp.dmp |od -x|head -1|awk '{p ......

Oracle Decode函数使用技巧


decode函数
语法:
decode(expr,search,result[,search,result]..[,search,result][,default])
解释:
比较expr与每个search的值,如果expr等于某个search,则返回相应的result;如果没有匹配的值,则返回default值;如果没有指定default值,则返回null
注意:
比较前,Oracle自动将expr的数据类型转换成第一个search的类型;Oracle自动将返回值的类型转换成第一个result的类型;如果第一个result的类型为Char或null,则Oracle将返回结果转换成vVarchar2类型。decode函数中,Oracle认为两个null相等。
示例:
SQL> select decode('0','0','true','1','false',null) from dual; --返回true
SQL> select decode('1','0','true','1','false',null) from dual; --返回false
SQL> select decode('2','0','true','1','false',null) from dual; --返回null
应用:行列转换
表example1有三个字段
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------
SEQ   ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [2161] [2162] [2163] [2164] 2165 [2166] [2167] [2168] [2169] [2170]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号