- 博客(18)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 提高DB2查询性能的常用方法(三)
索引和表的维护 重新组织索引 随着数据的不断删除,插入和更新,索引页会变得越来越零散,索引页的物理存储顺序不再匹配其逻辑顺序,索引结构的层次会变得过大,这些都会导致索引页的预读取变得效率低下。因此,根据数据更新的频繁程度需要适当的重新组织索引。可以使用 REORG INDEXES 命令来重新组织索引结构,也可以删除并重新创建索引达到相同的目的。同样的,对表进行重新组织也会带来性能的...
2009-06-27 16:50:51 425
原创 提高DB2查询性能的常用方法(二)
下面我们将从三个方面介绍一些提高查询性能的方法。 创建索引 根据查询所使用的列建立多列索引 建立索引是用来提高查询性能最常用的方法。对于一个特定的查询,可以为某一个表所有出现在查询中的列建立一个联合索引,包括出现在 select 子句和条件语句中的列。但简单的建立一个覆盖所有列的索引并不一定能有效提高查询,因为在多列索引中列的顺序是非常重要的。这个特性是由于索引的 B...
2009-06-27 16:31:40 185
原创 提高DB2查询性能的常用方法(一)
http://www.searchdatabase.com.cn/ShowContent_17217.htm本文先对DB2提供的几种用于提高查询性能的相关工具和命令进行介绍,然后根据笔者的工作经验介绍一些常用的技巧和方法来提高查询性能。主要集中于如何创建和维护索引、改写查询以及改变查询的实现方式,相关内容都将通过实例加以说明。 简介 随着DB2应用的逐渐增多,越来越多的数据库...
2009-06-27 16:30:26 321
原创 SQL语句优化DB2应用程序性能(四)
6、指定FOR FETCH ONLY子句 如果不想更新那些由SELECT语句提取的行,我们可以在SELECT语句中指定FOR FETCH ONLY子句,这么做的好处是,处理应用程序提出的查询请求时可以充分利用行的分块技术,进而改善性能;该子句还能改善数据的并发性,因为使用该子句查询的那些行上不再有独占的锁了。除了FOR FETCH ONLY子句,我们还可以使用FOR READ ONLY子句,...
2009-06-27 16:06:25 241
原创 SQL语句优化DB2应用程序性能(三)
如果在DECLARE CURSOR语句中指定FOR UPDATE子句,当应用程序1提取该行时,将会给该行加上U锁,应用程序2将会等待应用程序1释放U锁,这样,两个应用程序之间就不会发生死锁了。 下面举例说明如何在SELECT语句中使用FOR UPDATE子句。 EXEC SQL DECLARE c1 CURSOR FOR SELECT * FROM employee F...
2009-06-27 16:05:45 200
原创 SQL语句优化DB2应用程序性能(二)
剩余谓词是用关系数据服务(RDS)来进行评估的,而且,它在这四类谓词中成本最昂贵。由于相对范围界定谓词和索引参数谓词来说,剩余谓词和数据参数谓词的成本比较高,所以,我们应该尽可能地限制范围界定谓词和索引参数谓词界定的行数。 我们来看一下DB2的组件:索引管理器,数据管理服务和关系数据服务。图1显示DB2的各个组件和处理这四类谓词的位置。 图1 DB2 UDB组件和谓词...
2009-06-27 16:05:09 91
原创 SQL语句优化DB2应用程序性能(一)
当我们设计一个新的或分析一个现存的系统时,其中所要考虑的一个重要问题就是应用程序的设计问题。即使数据库设计得很好而且还经过优化处理,应用程序设计不适当还是会引起性能问题的 数据库。实践证明,如果应用程序存在设计上的问题,那么修改这些问题比调整数据库配置参数更能改善应用程序的性能。 例如,SQL是一种高级语言,具有很大的灵活性,从数据库中提取相同的数据可以用不同形式的SELECT语句...
2009-06-27 16:04:27 112
原创 sql的性能如何调整
http://www.alixixi.com/Dev/DB/DB2/2007/2007070359404.html一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一...
2009-06-27 15:27:52 91
原创 DB2学习笔记
http://blog.ixpub.net/html/37/87537-107845.html运行环境:ibm3220(d)E y*N4j/m$N5}0 系统环境:linuxAS U4+db2 8.2
2009-06-18 11:22:17 101
原创 linux:vi 替换命令
2007/12/30 21:37vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/...
2009-06-11 16:25:26 74
原创 批量获取多个表的创建索引语句
批量获取多个表的创建索引语句一个朋友提供的set echo offset heading offset pages 50000 lines 500set trimspool onset feedback offset long 99999spool c:\gao.sqlselect dbms_metadata.get_ddl('INDEX',index_name)||' parallel ...
2009-06-08 09:48:36 346
原创 Truncate table,Delete,与Drop table的区别
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同: 二者均删除表中的全部行。 但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记...
2009-06-06 15:33:14 221
原创 oracle cast() 函数问题
SQL> create table t1(a varchar(10));Table created.SQL> insert into t1 values ('12.3456');1 row created.SQL> select round(a) from t1; ROUND(A)---------- 12SQL> select round(a,3) fro...
2009-06-02 15:03:53 207
原创 db2中decimal实现oracle中trunc的方法
在oracle中trunc的使用方法:1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去下面是该函数的使用情况:TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy h...
2009-06-02 15:00:45 1382
其实我也很现实
其实我也很现实了,不知不觉中,我也慢慢被痛苦变成现实的小鱼,一只一边游一边喝水的小鱼,最起码我现在学会照顾好自己,学会去喝水,而不是一谓的去玩忘记了喝水。但当我知道什么叫做喝水时,我其实已经很寂寞,有时候寂寞是一种很可怕的东西,会让人做出,一些难以想象的事情。爱情?是什么?我现在忘记了, 什么物质了什么东西了都是人制造出来的,到什么时候这些东西都有可能制出来,对的,我想也是的,但...
2009-06-02 09:28:53 89
原创 oracle是如何工作的(一个有趣的故事)
转自http://bbs3.chinaunix.net/viewthread.php?tid=195585&extra=page%3D1%26amp%3Bfilter%3Ddigest 相信大家看了这篇文章对Oracle如何工作有一个形象的了解! 摘自----《Oracle备份与恢复》 ----------------------------------------------...
2009-06-01 14:12:34 143
原创 表约束的巧用
1、问题:表中的一個欄位,現在是VARCHAR2(8)型的,里面存放的數據是如‘20090529’,也就是時間形式的值在前臺這個欄位的值是系統帶出來的,但用戶還可以去改。問題是,因為欄位類型是字符型的,所以用戶不小心改成不一樣的數據,如2009/5/3。還有'DFDDFEER'等我們以前都是在前臺去做控管,進行to_date,如果報錯說明用戶輸入的值不對。上次看到一本書上有介紹說,其實這種可以...
2009-06-01 14:08:00 76
原创 BLOB和CLOB区别和定义
BLOB和CLOB区别和定义 LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列 LONG RAW: 可变长二进制数据,最长2G CLOB: 字符大对象Clob 用来存储单字节的字符数据 NCLOB: 用来存储多字节的字符数据 BLOB: 用于存储二进制数据 BFILE:...
2009-06-01 11:16:33 167
VSS学习和操作管理
2009-05-08
Hibernate里怎么把查询的结果集,显示出来
2008-11-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人