當前位置:首頁 » 存儲配置 » 存儲過程慢db2

存儲過程慢db2

發布時間: 2022-08-03 21:07:01

❶ DB2資料庫更新數據緩慢,求優化建議

你這樣寫很不好,看起來寫的是一句sql,反而速度慢下來了。首先row_number() over() as rownum毫無必要,這樣來分頁效率不高。然後能不用*就不用*查詢。在大數據量和列很多的情況下,會慢很多。

而且你也說了,更新1W條數據需要半個小時。那麼可以採用存儲過程或者程序來訪問。這樣會快很多,推薦採用存儲過程,110W條數據,就算重建索引等,更新一條應該在200ms一下,一萬條,不會那麼久的。希望能幫助得到你。

你這樣寫sql語句,執行時間太久了,會造成假死現象,這樣很不好。

❷ SQL存儲過程比SQL語句慢,甚至卡死

樓主,你好!這個排版屌爆了%>_<%

USE[HERP_BHYY]
GO
/******對象:StoredProcere[dbo].[sp_]腳本日期:12/03/201308:36:35******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERPROCEDURE[dbo].[sp_]
@ImpDateasDATETIMEASBEGIN
--SETNOCOUNTON;
DECLARE@ST_DATEASDATETIME
DECLARE@ED_DATEASDATETIME
DECLARE@TEMP_DATEDATETIME
IF@ImpDateisnotnull
begin
SET@ST_DATE=LEFT(@ImpDate,10)
SET@ED_DATE=dateadd(day,1,@ST_DATE)
end
deletehisdb2.dbo.his_charge_acc_o
wherecharge_date>=@ST_DATEandcharge_date<@ed_date
insert=""into=""hisdb2.dbo.his_charge_acc_o=""
select=""invoice_type=""from=""
where=""charge_date="">=@ST_DATEandcharge_date<@ED_DATE
end

這樣不是挺好么?

上面的SQL語句貌似漏了什麼東西,你自己看看

❸ DB2中的存儲過程問題

要看死鎖等待的時間,如果沒有超過這個時間是等待,過了這個時間就是出現異常。

❹ shell調用的DB2存儲過程,卡住了,怎麼能停掉

kill -9 進程號

❺ DB2 存儲過程調用 存儲過程

給你一個鏈接,自己學習吧。

個人用過幾個月的DB2,覺得db2的存儲過程 調試最麻煩了。

http://bbs.csdn.net/topics/110040013

❻ db2 存儲過程 異常處理

存儲過程異常的處理:
DECLARE handler-type HANDLER FOR condition handler-action

異常處理器類型(handler-type)有以下幾種:
CONTINUE 在處理器操作完成之後,會繼續執行產生這個異常語句之後的下一條語句。
EXIT 在處理器操作完成之後,存儲過程會終止,並將控制返回給調用者。
UNDO 在處理器操作執行之前,DB2會回滾存儲過程中執行的SQL操作。在處理器操作完成之後,存儲過程會終止,並將控制返回給調用者。
異常處理器可以處理基於特定SQLSTATE值的定製異常,或者處理預定義異常的類。預定義的3種異常如下所示:
NOT FOUND 標識導致SQLCODE值為+100或者SQLSATE值為02000的異常。這個異常通常在SELECT沒有返回行的時候出現。
SQLEXCEPTIOIN 標識導致SQLCODE值為負的異常。
SQLWARNING 標識導致警告異常或者導致+100以外的SQLCODE正值的異常。
如果產生了NOT FOUND 或者SQLWARNING異常,並且沒有為這個異常定義異常處理器,那麼就會忽略這個異常,並且將控制流轉向下一個語句。如果產生了SQLEXCEPTION異常,並且沒有為這個異常定義異常處理器,那麼存儲過程就會失敗,並且會將控制流返回調用者。
以下示例聲明了兩個異常處理器。 EXIT處理器會在出現SQLEXCEPTION 或者SQLWARNING異常的時候被調用。EXIT處理器會在終止SQL程序之前,將名為stmt的變數設為"ABORTED",並且將控制流返回給調用者。UNDO處理器會將控制流返回給調用者之前,回滾存儲過程體中已經完成的SQL操作。

清單3:異常處理器示例
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING SET stmt = 'ABORTED';
DECLARE UNDO HANDLER FOR NOT FOUND;
如果預定義異常集不能滿足需求,就可以為特定的SQLSTATE值聲明定製異常,然後再為這個定製異常聲明處理器。語法如下:

清單4:定製異常處理器
DECLARE unique-name CONDITION FOR SQLSATE 'sqlstate'
處理器可以由單獨的存儲過程語句定義,也可以使用由BEGIN…END塊界定的復合語句定義。注意在執行符合語句的時候,SQLSATE和SQLCODE的值會被改變,如果需要保留異常前的SQLSATE和SQLCODE,就需要在執行復合語句的第一個語句把SQLSATE和SQLCODE賦予本地變數或參數。
通常,會為存儲過程定義一個執行狀態的輸出參數(例如:poGenStatus)。
declare sqlcode integer default 0;
begin
declare continue handler for sqlexception set ret = sqlcode;
declare continue handler for sqlwarning set ret = sqlcode;
declare continue handler for not found set ret = sqlcode;
end ; --異常的聲明

--異常的處理
if sqlcode< 0 or sqlcode= 100 then
set O_RetCod = RetCode;
set O_RetMsg = 'CLN02:產品實例關聯客戶過程出錯!';
insert into LOG.OPER_LOG_TAB(PROC_NAME,OBJ_TAB,REGION_COD,OPER_COUNT,ERR_CODE,DATA_TIME,OPER_TIME)
values('P_DW_CLEAN','GLOBAL TEMP',0,0,retcode,CHAR(last_3_mon_time),current TIMESTAMP);
return;
else
set RetCode = 0;
end if;

❼ db2如何優化存儲過程

進入騰訊手機管家首頁--即可看到健康優化功能,其中包括手機加速、流量監控、垃圾清理、電池健康和空間管理功能

進程管理的作用是可以通過進程管理針對手機進行對程序,實現最大化的優化和管理,達到運行更為迅速的效果。當下智能手機的很多軟體是在關閉後,不能徹底結束手機相應進程,我們需要通過手機進入後台關閉掉相應的進程。而如果不關閉的話,很多時候會對我們的手機造成卡機,反應緩慢等一些症狀。

❽ DB2 存儲過程

你好,需要指定DYNAMIC RESULT SETS 1,如:
LANGUAGE SQL
SPECIFIC GetBOM
DYNAMIC RESULT SETS 1
MODIFIES SQL DATA

❾ 如何執行db2存儲過程

1、db2 create database 資料庫名 <-- 創建資料庫
2、db2 connect to 資料庫名 user 用戶名 using 用戶密碼 <-- 連接資料庫
3、db2 -tvf otpdb_v3_db2.sql <-- 為新建資料庫建立表結構
4、db2 -td@ -f 存儲過程文件絕對路徑 <-- 導入存儲過程,無錯誤會提示成功
4、調用存儲過程:
Windows 下:db2 call 存儲過程名(參數1,參數2)
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>call 存儲過程名(參數1,參數2)
5、驗證插入數據是否成功
Windows 下:db2 select count(*) from FTOTP_USERINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_USERINFO
Windows 下:db2 select count(*) from FTOTP_TOKENINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_TOKENINFO

❿ 如何快速掌握DB2存儲過程

做項目很急的話,網上搜存儲過程例子,遇到問題多查官方文檔或者網上搜,網上有DB2的社區,那邊更專業高手也多,如果時間相對寬松,可以選擇性多看看DB2的官方文檔(DB2結構原理和DB2編程的)。

熱點內容
京東微信密碼是多少 發布:2024-10-05 10:28:48 瀏覽:485
粘連演算法 發布:2024-10-05 10:10:45 瀏覽:646
php監控進程 發布:2024-10-05 09:37:06 瀏覽:49
企業密信怎麼找回伺服器代碼 發布:2024-10-05 09:33:19 瀏覽:228
怎麼用電腦開mc伺服器 發布:2024-10-05 09:25:01 瀏覽:408
linux目錄亂碼 發布:2024-10-05 09:24:24 瀏覽:171
歐姆龍plc有密碼如何傳送 發布:2024-10-05 09:24:24 瀏覽:336
安卓11如何隱藏圖標 發布:2024-10-05 09:11:32 瀏覽:702
唐山壹編程 發布:2024-10-05 08:48:07 瀏覽:813
廣東gps時鍾伺服器雲主機 發布:2024-10-05 08:27:31 瀏覽:757