oracle
malong_01223
这个作者很懒,什么都没留下…
展开
-
临时表空间
1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024 file_size fr转载 2011-11-14 18:53:46 · 293 阅读 · 1 评论 -
复杂的update语句
1 UPDATE DIM_AGENT T SET T.DUTY_AREA = (SELECT L.DUTY_AREA FROM V_MU_AMS_AGENT L WHERE L.IATA_CODE = T.AGENT_IATA), T.ADMIN_AREA = (SELECT L.ADMIN_原创 2011-11-11 11:24:29 · 5235 阅读 · 0 评论 -
block,extent,segment,tablespace
数据块(data block) 是oracle最小的逻辑部件,数据块大小合适的选择可以提高性能;区段(extent)由几个相邻的数据块组合在一起;段(segment)有一组区段构成;表空间(tablespace)是包含物理数据文件的逻辑实体,存放数据库的所有可用数据,因此表空间的尺寸也是包含数据的数据文件尺寸的总和,是oracle 主要的逻辑存储结构。tablespace由segm原创 2011-11-11 14:55:29 · 445 阅读 · 0 评论 -
sql优化学习
ALTER SESSION SET optimizer_index_cost_adj = 2;EXPLAIN PLAN FORSELECT sum(T130409.PAX_INCOME) as c1, T128508.ADMIN_AREA as c2from DIM_SEG_TYPE T128582, DIM_AGENT T128508...原创 2012-04-05 16:24:20 · 282 阅读 · 0 评论 -
Exadata
首先,这玩意为啥叫Exadata? 其实是拉里.埃里森挑衅别人的一贯作风的延续,NCR之前的一体机叫TeraData(后独立),所以他就把新产品叫Exadata了。如果你还不清楚,那就简单再说一下,这是数据量的单位:从字节开始往上按照千分位递进,分别就是KiloByte(KB)、MegaByte(MB)、GigaByte(GB)、TeraByte(TB)、PetaByte(PB)、ExaByt转载 2012-03-22 16:52:32 · 494 阅读 · 0 评论 -
sql 优化之EXPLAIN PLAN
EXPLAIN PLAN FORSELECT /*+ ROWID(T129294)*/ SUM(T129294.PAX_QTY) AS C1, SUM(T129294.PAX_INCOME) AS C2, T128508.AGENT_IATA AS C3, T128508.ADMIN_AREA AS C4 FROM DIM_AGENT T1原创 2012-05-17 16:21:51 · 453 阅读 · 0 评论 -
oracle 执行计划
执行计划的四个模式: choose(默认) , rule ,first_rows , all_rows原创 2011-11-11 16:35:08 · 193 阅读 · 0 评论 -
pctfree,IniTrans,maxtrans
对于创建表或索引时,有如下的段,其中pctfree ,initrans ,maxtrans ,next,minextents ,maxextents 等值的含义以及设定IniTrans,用于每个块中处理行级锁事务。表是1,索引是2,如果同一块有很多行被并发更新等操作时,建议增加该值对于serializable 隔离级,至少设置为3。但是事实上,不适宜去修改默认的值,因为事务需要在块上面写事原创 2011-11-11 14:43:45 · 3051 阅读 · 0 评论 -
标准sql实现排行榜问题 --摘自老颜博客
除了使用分析函数row_number,rank,dense_rank功能解决分组排行榜问题外,使用标准SQL的实现如下:SELECT * FROM (SELECT a.deptno,a.ename,a.sal, (SELECT COUNT(*) + 1 FROM (SELECT deptno, ename, SUM(sal) AS sal转载 2011-11-10 14:38:51 · 472 阅读 · 0 评论 -
Oracle表与索引的分析及索引重建
1.分析表与索引(analyze 不会重建索引)analyze table tablename compute statistics 等同于 analyze table tablename compute statistics for table for all indexes for all columnsfor table 的统计信息存在于视图:user_tables转载 2011-11-15 11:15:54 · 287 阅读 · 0 评论 -
tkprof的学习使用
Tkprof工具介绍和分析Tkprof是一个用于分析Oracle跟踪文件并且产生一个更加清晰合理的输出结果的可执行工具。如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用Tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。Tkprof命令后面可以带各种类型的排序选项,具体如下:Usage: tkprof tracefile outputf转载 2011-11-16 08:54:33 · 308 阅读 · 0 评论 -
快速插入删除
INSERT /*+append*/ INTO fact_sale_agent_agg2_new SELECT * FROM fact_sale_agent_agg2 NOLOGGING;快速删除 建个存储过程,达到2000条或者更多条,提交一次. create or replace procedure p_delete as n number(10);原创 2011-11-17 10:40:48 · 289 阅读 · 0 评论 -
Oracle分区索引
点击打开链接表可以按range、hash、list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。局部索引local index1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区数,一句话,局部索引的分区机制和表的分区机制一样。转载 2011-11-17 11:22:06 · 311 阅读 · 0 评论 -
rownum 和rowid
两个都是伪列,但是rowid是实际物理存在的列,它用来唯一滴表示列,索引中正式存的列的rowid .而rownum是从数据库中读取数据的顺序,因此当使用rownum>1时查不到数据,因为我第一次取出来的列rownum是1,不符合,我在去取,这次取出来的还是1,还不符合,依次类推,到最后没有一条记录符合。有时候使用分页sql select a.* from (se原创 2011-11-17 09:43:10 · 288 阅读 · 0 评论 -
ORACLE将普通表转变为分区表方法
法一:利用原表重建分区表。步骤:SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);表已创建。SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;已创建6264行。SQL> COMMIT;提交完成。SQL> CREATE TABLE T_NEW转载 2011-11-17 10:41:17 · 386 阅读 · 0 评论 -
有效期的SQL处理之生效日期--转自 老颜博客
这种设计使用起来比较简单了,这里列两种方式:1.方法一例子SELECT * FROM (SELECT to_date(’2009-07-01′, ‘yyyy-mm-dd’) + LEVEL – 1 AS flight_dt FROM dual CONNECT BY LEVEL to_date(’2009转载 2011-11-23 16:55:57 · 1229 阅读 · 0 评论 -
oracle 分析函数的使用
LEAD/LAG rank,dense_rank,row_number 等分析函数的使用http://www.cnblogs.com/sunsonbaby/archive/2004/09/29/47876.aspx转载 2012-06-18 13:07:23 · 299 阅读 · 0 评论