代码改变世界

随笔档案-2011年05月

关于分区表和分区索引

2011-05-31 14:01 by Tracy., 984 阅读, 收藏, 编辑
摘要: 关于分区表和分区索引(About Partitioned Tables and Indexes) 对于10gR2而言,基本上可以分成几类: v Range(范围)分区 v Hash(哈希)分区 v List(列表)分区 v 以及组合分区:Range-Hash,Range-List。 对于表而言(常规意义上的堆组织表),上述分区形式都可以应用(甚至可以对某个分区指定compress属性),只不过分区... 阅读全文

分区表和分区索引的创建案例

2011-05-31 13:48 by Tracy., 542 阅读, 收藏, 编辑
摘要: --帐号信息表 CREATE TABLE TB_U_ACCOUNT ( ACCOUNT_ID NUMBER(20), ACCOUNT_BALANCE_TOTAL NUMBER(13,2), ACCOUNT_BALANCE NUMBER(13,2), DAY_MONEY NUMBER(13,2), MONTH_MONEY NUMBER(13,2), ADD_DAY VARCHAR2(8), ADD_... 阅读全文

分区表、分区索引和全局索引部分总结

2011-05-31 13:44 by Tracy., 578 阅读, 收藏, 编辑
摘要: 分区表、分区索引和全局索引: 在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。 create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than ... 阅读全文

ITPUB:分区表,每次查询取出1%的记录,为什么没有走索引?

2011-05-31 10:39 by Tracy., 569 阅读, 收藏, 编辑
摘要: 分区表,每次查询取出1%的记录,为什么没有走索引? 目前情况: windows2003系统, 11gR1版本。 经常执行的是类似:select * from rece where gpsdate >= ... and gpsdate<=... and device_number=... ; 的查询,即:查询某个设备号的设备,在某些天内的记录。而rece表里共有3亿条记录。 所以, 1, 设计re... 阅读全文

ORACLE PARTITION简介

2011-05-31 10:13 by Tracy., 30218 阅读, 收藏, 编辑
摘要: 一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优缺点  优... 阅读全文

ITPUB:如何一次性更新多条不同值的记录?

2011-05-30 10:08 by Tracy., 668 阅读, 收藏, 编辑
摘要: 标题可能没说清楚,假设有这样两张表: create table testA( id number, eng varchar2(3), chi varchar2(3) ) create table testB( id number, eng varchar2(3), chi varchar2(3), anythingother varchar2(1) ) 现有记录 testA: ID ENG C... 阅读全文

ITPUB: Newkid的两个NULL与索引的小技巧

2011-05-28 21:45 by Tracy., 374 阅读, 收藏, 编辑
摘要: 1.既然NULL是可以进复合索引的,在我们需要对NULL进行索引时,就可以构造一个“伪复合索引”:CREATE INDEX my_index ON my_table(my_column,0);后面这个零就是加入的伪列。这样以后在有 my_column IS NULL 的条件就可以利用索引了(当然最终使用与否还得由CBO决定)。2.不想索引的行,即使不是NULL, 也可用函数把它剔除。假设有status_id列,里面有0:未处理,1:已处理 两种状态,我们关心的仅仅是0的行,处理完就会改成1. 这样表中0的行仅仅是少数,大部分是1的行,数据量多了BTREE索引的维护就有开销。这时可以建立这样的索 阅读全文

yangtingkun常数复合索引应用案例

2011-05-27 10:54 by Tracy., 495 阅读, 收藏, 编辑
摘要: 受楼下老大的NULL贴启发,讲两个NULL与索引的小技巧 1.既然NULL是可以进复合索引的,在我们需要对NULL进行索引时,就可以构造一个“伪复合索引”: CREATE INDEX my_index ON my_table(my_column,0); 后面这个零就是加入的伪列。这样以后在有 my_column IS NULL 的条件就可以利用索引了(当然最终使用与否还得由CBO决定)。 2.不... 阅读全文

ORACLE全文检索文件路径版

2011-05-26 11:33 by Tracy., 568 阅读, 收藏, 编辑
摘要: 一、创建示例表 CREATE TABLE T_FULLTEXT_DEMO( ID NUMBER NOT NULL, TITLE VARCHAR2(100) NULL, REMARK VARCHAR2(200) NULL, FILE_NAME VARCHAR2(200) NULL, CONSTRAINT T_FULLTEXT_DEMO_PK PRIMARY KEY ( ID )); 二、对... 阅读全文

Oracle统计信息的备份还原

2011-05-25 17:19 by Tracy., 492 阅读, 收藏, 编辑
摘要: As of Oracle Database 10g, whenever system statistics or object statistics are gathered through the package dbms_stats, instead of simply overwriting current statistics with the new statistics, the cu... 阅读全文

直方图有两种类别,等频直方图与等高直方图。

2011-05-25 15:01 by Tracy., 2787 阅读, 收藏, 编辑
摘要: 直方图有两种类别,等频直方图与等高直方图。 默认的,如果一个倾斜列上的唯一值超过了254个,那么ORACLE会对此列建立等高直方图,否则建立等频直方图。 通过如下方式,建立表TAB,更新字段B,让列B产生倾斜。并在B列上创建索引。 SQL> spool d:\hist.txt SQL> create table tab (a number, b number); 表已创建。 SQL> SQL> ... 阅读全文

Oracle 10g中的SQL跟踪新方法

2011-05-25 13:09 by Tracy., 619 阅读, 收藏, 编辑
摘要: Oracle 10g中的SQL跟踪新方法 1. 先确定需要跟踪的Session或者Client select * from v$session --会话级别 可以设置identifier方便查询跟踪文件 alter session set TRACEFILE_IDENTIFIER = 'something_here'; begin --当前自己的Session可以用: --EXECUTE DBM... 阅读全文

Asktom:Sending HTML using UTL_SMTP

2011-05-24 17:15 by Tracy., 461 阅读, 收藏, 编辑
摘要: Hi TomI hope I'm phrasing this correctly...I'd like to be able to send an HTML formatted email from the database using the UTL_SMTP package. I don't see any way of setting the MIME type.Is this beyond... 阅读全文

ITPUB: HAVING COUNT 的妙用

2011-05-24 16:06 by Tracy., 430 阅读, 收藏, 编辑
摘要: 帮忙分析一个sql -- Create table CREATE TABLE TMP_TB ( TID VARCHAR2(10) NOT NULL, ORDID VARCHAR2(10), STATUS VARCHAR2(10) ); -- Create/Recreate primary, unique and foreign key constraints ALTER TABLE TMP_TB... 阅读全文

Using Oracle 10g Tuning Utilities

2011-05-24 12:34 by Tracy., 275 阅读, 收藏, 编辑
摘要: Oracle is always improving life for DBAs and developers with each release of the RDBMS. 10g has many new features to help troubleshoot and tune the database. Starting with 10g, Oracle has introduced ... 阅读全文

Introduction to Oracle 10g's New SQL Tuning Advisor

2011-05-24 12:12 by Tracy., 284 阅读, 收藏, 编辑
摘要: Continuation of Tuning Task The first suggestion given by the tuning advisor was to gather statistics on the two structures that we are joining as it can only produce valid analysis and suggestions i... 阅读全文

WLK狂暴战怎么玩

2011-05-19 13:16 by Tracy., 6704 阅读, 收藏, 编辑
摘要: 我看了你的英雄榜。如果你没有更换过天赋。 我大致系统的说一下吧 天赋: 现在狂暴战有两种主流天赋 从最大区别来说,狂暴天赋的两种主流是是否强化5点吼 不强化的我叫自私天赋,也是最强的单体天赋 这是我很多时候采用的天赋,我的团队里面有野德,所以我不用点暴怒。而因为我们很多时候有两名输出战士,另一名战士总是点出强化吼,所以我可以很高兴的不点。 当然,如果只有一名输出战士的时候,我则必须切换成另外一个团... 阅读全文

pivot_clause [Oracle SQL]

2011-05-18 15:43 by Tracy., 622 阅读, 收藏, 编辑
摘要: create table pivot_ex ( a varchar2(10), b number, c char(1));insert into pivot_ex values ('foo', 1, 'y');insert into pivot_ex values ('foo', 2, 'y');insert into pivot_ex values ('foo', 3, 'y');insert... 阅读全文

Question regarding left join

2011-05-18 15:16 by Tracy., 277 阅读, 收藏, 编辑
摘要: You Asked Hello All, Here's my problem: I have a Rep table: create table rep (id number, name varchar2(20));insert into rep values (1,'X01');insert into rep values (2,'X02');And i have a Txn table cre... 阅读全文

常见Oracle HINT的用法

2011-05-17 10:08 by Tracy., 321 阅读, 收藏, 编辑
摘要: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: S... 阅读全文

关于index_ffs使用索引的一点问题.

2011-05-17 10:06 by Tracy., 1084 阅读, 收藏, 编辑
摘要: SQL> desc test_objects; Name Null? Type ----------------------------------------- -------- ---------------------------- OBJECT_ID NUMBER OBJECT_NAME VARCHAR2(128) OBJECT_TYPE VARCHAR2(19) SQL> select ... 阅读全文

2011年的每一天是周几?

2011-05-11 15:16 by Tracy., 228 阅读, 收藏, 编辑
摘要: SELECT TO_DATE ('20110101', 'yyyymmdd') + ROWNUM - 1 rq, TO_CHAR (TO_DATE ('20110101', 'yyyymmdd') + ROWNUM - 1, 'DAY') theday FROM (SELECT ROWNUM FROM DUAL CONNECT BY ROWNUM <= TO_DATE ('201112... 阅读全文

TOM上关于JOIN跟+号的讨论

2011-05-11 14:53 by Tracy., 284 阅读, 收藏, 编辑
摘要: http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:6585774577187 to "predicate" on the parent table, you want to use a where clause - else by DEFINITION - every row in the parent table ... 阅读全文

正则表达式实现字符串换位吗

2011-05-11 11:03 by Tracy., 706 阅读, 收藏, 编辑
摘要: 能用正则表达式实现字符串换位吗 John, Smith 变成 Smith John Solution: SQL> select regexp_replace('John, Smith','^([^,*]{1,}),([^,*]{1,})','\2 \1') from dual; REGEXP_REPLACE('JOHN,SMITH','^ ---------------------------... 阅读全文

基于索引的SQL语句优化之降龙十八掌

2011-05-11 10:53 by Tracy., 272 阅读, 收藏, 编辑
摘要: 1 前言... 2 2 总纲... 2 3 降龙十八掌... 3 第一掌 避免对列的操作... 3 第二掌 避免不必要的类型转换... 4 第三掌 增加查询的范围限制... 4 第四掌 尽量去掉"IN"、"OR" 4 第五掌 尽量去掉 "<>" 5 第六掌 去掉Where子句中的IS NULL和IS NOT NULL. 5 第七掌 索引提高数据分布不均匀时查询效率... 5 第八掌 利用HINT强... 阅读全文

转ITPUB:如何根据最新的库存推算前期销售库存.

2011-05-11 10:44 by Tracy., 253 阅读, 收藏, 编辑
摘要: 求助一个sql的写法 date stock sale ------- ---------- ------------ 11-5-5 30 5 11-5-4 30 6 11-5-3 30 10 11-5-2 30 8 11-5-1 30 20 只有5号的stock是对的 销售都是对的 要倒推stock 前一天stock=当天stock+当天sale 4号是35,3号41,2号51 。。。。 有什么好... 阅读全文

关于clob类型在函数中的处理。

2011-05-11 10:34 by Tracy., 956 阅读, 收藏, 编辑
摘要: create or replace type str2tblType as table of varchar2(4000); CREATE OR REPLACE FUNCTION str2tbl (p_str IN CLOB, p_delim IN VARCHAR2 DEFAULT ',') RETURN str2tbltype AS l_str CLOB := p_str || p_de... 阅读全文

数据库中分组字符串相加

2011-05-11 10:20 by Tracy., 1070 阅读, 收藏, 编辑
摘要: --该测试脚本可以直接运行 --现在想把数据库中数据按照固定字段分组相加,这里总结了5种方法。 --创建测试表、添加测试数据 create table test(id varchar2(10),mc varchar2(50)); insert into test values('1','11111'); insert into test values('1','22222'); insert in... 阅读全文
点击右上角即可分享
微信分享提示