db2sql語句優化

2021-06-16 23:46:49 字數 1231 閱讀 7443

最經專案中要用到乙個樹形載入結構,由於底層資料有點多,再加上sql語句沒有怎麼優化,所以頁面資料載入的時候特別慢。只查詢底層資料的話就需要七八秒中,後來經過別人的指點從新優化sql後,底層資料的載入查詢控制在了200毫秒以為。現在就貼上我的sql語句,供大家看一下:

沒有優化的sql語句

select c.key,k.keywords,k.id,

(select count(id) from post.content_alarm_record_2013 cr where k.keywords=cr.key and cr.read_status=0)as unready,

(select count(id) from post.content_alarm_record_2013 cr where k.keywords=cr.key and cr.read_status=1)as ready

from post.content_alarm_monitor c,post.keywords_alarm k where c.id=k.type_id and c.key='假證' and c.source_type= 1

優化過的sql語句

select c.key, k.keywords, k.id, 

(select count(1) from post.content_alarm_record_2013 cr where cr.read_status=0 and k.keywords=cr.key) as unready,

(select count(1) from post.content_alarm_record_2013 cr where cr.read_status=1 and k.keywords=cr.key ) as ready

from post.content_alarm_monitor c, post.keywords_alarm k where c.id=k.type_id and c.source_type= 1 and c.key='假證'

查詢時間由原來的7000毫秒,變為了200毫秒

在這裡自己總結一下優化的幾點:

1.sql全部改為大寫

2.多表聯查的時候,資料量少的表寫在前邊

3.資料量差不多的表,安裝a-z的表明順序

4.如果有c.source_type= 1 and c.key='假證'這樣條件的 數字的條件放在前邊,string 字串的查詢條件放在後邊

DB2 SQL語句的優化

最近在做一銀行的優化專案,由於正在學習中,所以做的一些筆記 1.sql語句除了引號內的特殊字元,其他的語句都要大寫。2.多表聯查,資料量按從少到多排列,當然第乙個主表通常資料量比較大,因為第乙個表通常為主表,但是從第二個表就要資料量從少到多排列了 如果遇到兩張表的資料一大一小,小表只能跟大表關聯,大...

DB2 SQL語句筆記

1 case when語句 sql中的case when使用,case具有兩種格式 簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 t...

更多簡單而實用的 DB2 SQL 語句

start 檢視當前時間 values current time 檢視當前日期 values current date 檢視當前時間戳 values current timestamp 檢視當前時區 values current timezone 檢視使用者 values user 檢視系統使用者 ...