-
2011-09-14 22:28:08
/ IBM信息管理
一个表T(c1 int, c2 int, c3 int)1: update T set c3 = row_number() over(partition by c1 order by c2)2: update T set c3 = row_number() over(partition by c1 order by c2 desc)发现执行计划一样,但语句1(升序)比语句2(降序)快很多,有啥原因?
查看(140)
评论(1)
-
2011-06-13 20:43:03
/ IBM信息管理
一般语句可用 select c1 into v_name from t1 where p1=3;变量v_name获取查询的值。如果是动态语句set str='select c1 into v_name from t1 where p1=3';动态执行这个字符串有错,实际中表名t1是可变的,动态语句才能执行。有啥办法呢。。。
查看(405)
评论(1)
-
2010-12-24 22:10:07
/ Oracle开发
表tab(id,pid,name)列名分别为结点、父结点、结点名称求解根结点的家族名称,即结点本身的名称 加上所有子结点的家族名称,子结点按id排序如表数据:1, 100, 'aa'2, 100, 'bb'100,NULL,'ff'5, 1, 'cc'6, 1, 'dd'则根100的家族名称 'ffaaccddbb'
查看(381)
评论(3)
-
2010-03-29 22:51:05
/ IBM信息管理
表LT(a,b,c)数据量较大,2000万左右。表ST(a,b,c)数据量较小,20万左右。两表结构相同,a是主键。现需要用a值关联,LT表中的值更新ST中的值。1:merge into STusing LTon ST.a = LT.awhen matched then updateset ST.b=LT.b,ST.c=LT.c;2:merge into ST t1using ( select LT.a, LT.b,LT.cfrom LT, STwhere LT.a = ST.a ) t2on t1.a = t2.awhen matched then updateset t1.b = t2.b, t1.c = t2.c;3:update ST t1 set (b,c) = ( select t2.b,t2.c from LT
查看(894)
评论(4)
-
2010-03-22 22:23:21
/ IBM信息管理
应用需要满足24小时访问,对表只是查询操作,但每月需要全量更新一次。有什么好的方式最小化对应用的影响?
查看(1298)
评论(10)
-
2010-01-14 11:33:12
/ IBM信息管理
export文件为del,有没有参数能在首行标识列名(标题行)
查看(1219)
评论(5)
-
2010-01-07 12:54:57
/ IBM信息管理
load操作后,能查询数据,但不能创建索引,表也不能删除。提示表暂挂,这是什么情况?
查看(1159)
评论(4)
-
2009-12-30 21:30:25
/ Oracle开发
一个连锁店有很多分店,每个分店抽取20个用户,男女各10个赠送礼品。表CUST(CUSNUM,DEPTNUM,SEX)表示客户会员号、分店号、性别('F' 女,'M' 男)数据结果为DEPTNUM,CUSNUM,SEX要求相当与每个分店抽男客户10个,女客户10个,如果该分店的男客户小于10个,则取女客户补充,但总数小于等于20女客户的处理也类似如果分店的总客户数小于20,则取所有客户
查看(836)
评论(5)
-
2009-12-23 12:39:23
/ IBM信息管理
RT偏区是说数据在多分区中分布不均匀
查看(1122)
评论(5)
-
2009-12-21 22:56:53
/ Oracle专题深入讨论
无意中想到这个问题,数据库事务的特性要求处理异常时进行回滚,如果回滚中又出现异常,也进行回滚?如此循环,岂不挂了
查看(972)
评论(5)
-
2009-11-25 17:48:15
/ IBM信息管理
对表T(a,b,c)进行查询,数据量较大,接近一亿。a的不同值个数较小,b的不同值个数较大。两个索引create indexi1 on T(a,b)create indexi2 on T(b)查询语句:select * from T where b=323432;如果没有索引 i2,查询也会使用索引 i1,因为索引支持反向扫描,速度较慢如果有索引 i2,查询会使用索引 i2,速度很快。想问下索引反向扫描是如何实现的?为何用起来没有单独建立的索引效果好?
查看(1293)
评论(5)
-
2009-11-19 14:34:25
/ IBM信息管理
最近用了个性能差一点的机器,经常出现sql运行慢的问题。主要问题是涉及的数据量很大,虽然db2提供了很多的优化策略,但感觉索引和中间数据的实体化仍是最有效的方法。因此我觉得db2优化器能否在下列两个方面对执行计划进行优化:1:动态建立索引,使用完后自动删除对于多维分析的应用,几乎每列都有可能作为选择条件进行查询,部分查询又是临时性的,建立过多的索引也不合适。如果能支持这个功能,效率会提高很多,而且简化开发人员的调优工作。2:中间结果实体化,最好能对中间结果建索引(一般好像进行了排序操作)
查看(1546)
评论(6)
-
2009-11-14 18:08:19
/ IBM信息管理
rt
查看(1258)
评论(5)
-
2009-10-29 22:05:14
/ Oracle数据库管理
一个segment可以对应多个文件,插入数据需要分配extend时,会选择那个文件的空间进行分配?分配机制是怎样的?
查看(655)
评论(6)
-
2009-10-27 22:31:59
/ Oracle专题深入讨论
表T上对列a,b建索引,假设应用对索引顺序没有要求,a,b列的值分布不同,列a的不同值个数较小,约20个列b的不同值个数较大,约1000万表T上的数据量很大,有几千万。那么分别建立索引 i_ab on T(a,b) 与 i_ba on T(b,a),那种索引占用空间更小? 索引的使用效率更高?
查看(1581)
评论(14)
-
2009-10-27 08:32:14
/ IBM信息管理
最近在看牛博士的大作,发现里面讲了很多internal的东西,在信息中心或百度都无法搜索到相关的内容,他怎么会了解这么详细呢?文中没写参考文献。。。好像他不是IBM的,这些IBM应该是保密的。
查看(1102)
评论(3)
-
2009-10-22 22:25:02
/ IBM信息管理
RT有什么方式实现,最好能举个例子
查看(817)
评论(2)
-
2009-10-22 10:38:13
/ Oracle开发
表T(aint,bchar(10),cdate)列(a,b) 是主键内容如下:abc100'A''2009-01-01'100'B''2009-02-03'100'D''2009-04-09'101'B''2009-05-06'返回列aAADATEBBDATE100'Y''2009-01-01''Y''2009-02-03'101'N''Y''2009-05-06对a进行分组,分组中如果存在'A','B' 则A,B列的值为‘Y’,否则为
查看(841)
评论(11)
-
2009-10-22 08:32:34
/ Oracle数据库管理
RT如果加锁,机制是否和普通数据的加锁机制一样?
查看(585)
评论(2)
-
2009-10-21 08:51:53
/ Oracle数据库管理
RT偶然看到这个概念,该如何理解?
查看(562)
评论(1)