麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > DB2 > 正文

DB2編程序技巧 (六)

2019-09-08 23:34:31
字體:
來源:轉載
供稿:網友
2.2 SQL語句盡量寫復雜SQL
  盡量使用大的復雜的SQL語句,將多而簡單的語句組合成大的SQL語句對性能會有所改善。
  DB2的SQL Engieer對復雜語句的優化能力比較強,基本上不用當心語句的性能問題。
Oracle 則相反,推薦將復雜的語句簡單化,SQL Engieer的優化能力不是特別好。
這是因為每一個SQL語句都會有reset SQLCODE和SQLSTATE等各種操作,會對數據庫性能有所消耗。
一個總的思想就是盡量減少SQL語句的個數。
2.3 SQL  SP及C SP的選擇
首先,C的sp的性能比sql 的sp 的要高。
一般而言,SQL語句比較復雜,而邏輯比較簡單,sql sp 與 c sp 的性能差異會比較小,這樣從工作量考慮,用SQL寫比較好。
而如果邏輯比較復雜,SQL比較簡單,用c寫比較好。

2.4 查詢的優化(HASH及RR_TO_RS)
db2set  DB2_HASH_JOIN=Y (HASH排序優化)
  指定排序時使用HASH排序,這樣db2在表join時,先對各表做hash排序,再join,這樣可以大大提高性能。
  劇沈剛說做實驗,7個一千萬條記錄表的做join取10000條記錄,再沒有索引的情況下  72秒。

db2set  DB2_RR_TO_RS=Y        
該設置后,不能定義RR隔離級別,如果定義RR,db2也會自動降為RS.
這樣,db2不用管理Next key,可以少管理一些東西,這樣可以提高性能。      


2.5 避免使用count(*) 及exists的方法
1、首先要避免使用count(*)操作,因為count(*)基本上要對表做全部掃描一遍,如果使用很多會導致很慢。
2、exists比count(*)要快,但總的來說也會對表做掃描,它只是碰到第一條符合的記錄就停下來。

如果做這兩中操作的目的是為
      select into 服務的話,就可以省略掉這兩步。
直接使用select into 選擇記錄中的字段。

如果是沒有記錄選擇到的話,db2 會將  sqlcode=100 和 sqlstate=’20000’
如果是有多條記錄的話,db2會產生一個錯誤。

程序可以創建  continue handler for  exception  
/t      continue handler for  not found
來檢測。
這是最快速的方法。

3、如果是判斷是不是一條,可以使用游標來計算,用一個計數器,累加,達到預定值后就離開。這個速度也比count(*) 要快,因為它只要掃描到預定值就不再掃描了,不用做全表的scan,不過它寫起來比較麻煩。


3 DB2表及sp管理
3.1 看存儲過程文本
select text from syscat.procedures where procname='PROC1';
3.2 看表結構
describe table syscat.procedures
describe select * from syscat.procedures

3.3 查看各表對sp的影響(被哪些sp使用)
select PROCNAME from SYSCAT.PROCEDURES where SPECIFICNAME in(select dname from sysibm.sysdependencies where bname in ( select PKGNAME  from syscat.packagedep where bname='TB_BRANCH'))
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产porn在线| 特级黄色一级毛片 | 99在线在线视频免费视频观看 | 特级西西444www大精品视频免费看 | 夜夜看 | 欧美一级黄色片免费观看 | 99国产精品国产免费观看 | 中国老女人一级毛片视频 | 国产在线播放一区二区 | 国产69精品久久久久久久久久 | 中文字幕网在线 | 广州毛片 | 国产精品久久久久久久娇妻 | 97风流梦电影 | 中文字幕在线观看二区 | 国产98色| 深夜免费观看视频 | 青青草华人在线 | 久草视频2 | 国产精品成人av片免费看最爱 | 羞羞的动漫在线观看 | 日日碰日日操 | 国语自产免费精品视频在 | 久久亚洲视频网 | 欧美三区在线 | 久久国产精品二区 | 88xx成人永久免费观看 | 视频在线中文字幕 | 激情黄页 | 成人在线第一页 | 精品中文字幕在线播放 | 国产精品99爱| 日本免费aaa观看 | 国产精品久久久久久影视 | 黄色小视频免费在线观看 | 日韩黄色片免费看 | 日韩视频一区二区三区四区 | 超碰97国产在线 | 一边吃奶一边插下面 | 91福利免费观看 | 成人性视频欧美一区二区三区 |