Persuit perfect

step by step,try my best
  首页  :: 新随笔  :: 管理

2008年8月19日

摘要: 1、检查被索引的列或组合索引的首列是否出现在PL/SQL语句的WHERE子句中,这是“执行计划”能用到相关索引的必要条件。 2、看采用了哪种类型的连接方式。ORACLE的共有Sort Merge Join(SMJ)、Hash Join(HJ)和Nested Loop Join(NL)。在两张表连接,且内表的目标列上建有索引时,只有Nested Loop才能有效地利用到该索引。SMJ即使相关列上建... 阅读全文

posted @ 2008-08-19 22:07 Kathleen 阅读(5080) 评论(0) 推荐(0) 编辑

摘要: 一、目的: 1、说一说Oracle的Optimizer及其相关的一些知识。 2、回答一下为什么有时一个表的某个字段明明有索引,当观察一些SQL的执行计划时,发现确不走索引的问题。 3、如果你对 FIRST_ROWS、 ALL_ROWS这两种模式有疑惑时也可以看一下这篇文章。 Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工... 阅读全文

posted @ 2008-08-19 21:38 Kathleen 阅读(1550) 评论(0) 推荐(0) 编辑

摘要: 今天在本地数据库跟客户数据库执行了相同的查询,但是ORACLE的执行计划显示的却有很大差别。发现本地库都能利用到该使用的索引,而客户正式库上却不可以。一般遇到这种情况,很可能是索引失效了。这个时候需要重建索引: 1.通过这句话查看现用索引情况: Code Code highlighting produced by Actipro CodeHighlighter (freeware)... 阅读全文

posted @ 2008-08-19 20:58 Kathleen 阅读(906) 评论(1) 推荐(0) 编辑

2008年8月17日

摘要: 伪列(pseudocolumn)ROWNUM 中包含有当前的行号。很多人在第一次试图返回表中中间某段记录子集时,都会发现下面这种方法行不通: select * from all_objects where rownum between 30 and 49; 这种写法之所以行不通,是因为 ROWNUM 列只有在记录被取出或过滤时才会应用到记录上。第一行在被取出时会被抛出,因为它的 R... 阅读全文

posted @ 2008-08-17 23:50 Kathleen 阅读(2296) 评论(0) 推荐(1) 编辑

摘要: Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 SELECT * FROM 2 ( 3 SELECT A.*, ROWNUM RN 4 FR... 阅读全文

posted @ 2008-08-17 23:47 Kathleen 阅读(342) 评论(0) 推荐(0) 编辑

摘要: 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006... 阅读全文

posted @ 2008-08-17 11:06 Kathleen 阅读(186) 评论(0) 推荐(0) 编辑

2008年8月3日

摘要: 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的... 阅读全文

posted @ 2008-08-03 12:15 Kathleen 阅读(328) 评论(0) 推荐(0) 编辑

2008年6月12日

摘要: 晚上看到培的BLOG上的随笔,希望能用简单的方法实现。 uid rname 1 stefanie 1 google 1 sina 2 baidu 2 microsoft --------------- --想得到的结果 1 stefanie,google,sina 2 baidu,microsoft 我的实现方法: ALTER FUNCTION FUN_MER(@UID NVARCHA... 阅读全文

posted @ 2008-06-12 22:17 Kathleen 阅读(123) 评论(0) 推荐(0) 编辑

2008年6月8日

摘要: 上周工作中,主要针对cust_statement报表进行优化。优化对象:存储过程。 分析后发现,影响性能的瓶颈在于对于一个游标的使用: DECLARE CUR_COMP_LIST CURSOR FOR SELECT BUSINESS_ID FROM #RESULT_COMP_LIST OPEN CUR_COMP_LIST FETCH NEXT F... 阅读全文

posted @ 2008-06-08 13:53 Kathleen 阅读(1161) 评论(0) 推荐(0) 编辑

2007年11月11日

摘要: 什么是委托? 委托和事件是紧紧联系在一起的。委托是函数(方法)指针,更确切地说,委托保持方法的引用。 委托是一个类。当你创建它的实例的时候,你传递将被委托调用的方法名(做为委托构造器的参数)。 每个委托都有一个特征。例如: Delegate int SomeDelegate(string s, bool b); 是一个委托声明。我之所以说它有一个特征,是因为它都返回一个i... 阅读全文

posted @ 2007-11-11 17:21 Kathleen 阅读(131) 评论(0) 推荐(0) 编辑