最近公司專案需求,要從oracle往mysql遷移存量1.2億資料。處理邏輯比較複雜,硬體方面,對機器效能要求較高;軟體方面,受制於外部服務能力。因此,在開發過程中,需要特別注意各方面資源的管理,及時釋放占用的資源。
調優過程中,資料庫方面遇到以下幾個問題:
1.unknow psmid。
這個是preparedstatement報出來的,具體原因沒查出來。後來改了statement後能正常執行,猜測是我們使用的dble可能有隱藏的bug,在某些情況下不能正常處理。
2.關閉的結果集/statement/before start of resultset
這類問題比較好查,看下是否在在結果集還在使用之前將結果集關閉了;看下resultset在使用時候有沒有移動游標。
3.oracle報出來:超出開啟游標最大數
一般都是statement/preparedstatement沒關。
另外,mysql有自動**statement/preparedstatement的機制,不需手工關閉,oralce必須寫在**裡。關閉順序為:resultset、statement/preparedstatement、connection.
資料庫(1) 資料庫管理和表管理
一 資料庫管理 1 查詢所有資料庫 show databases 2 建立資料庫 create database name default character set utf8 指定預設字符集建立資料庫可以省略 3 檢視資料庫的預設字符集 show create database name 4 資料...
多執行緒環境下,手動建立資料庫連線池
改進前分析 由於之前做的專案占用sqlserver太多,程式執行時,導致sqlserver占用cpu 60 左右,記憶體占用1.6g左右,這種情況下可能會導致伺服器的宕機或其它軟體無法正常執行。而程式本身並沒有占用太多cpu和記憶體。於是為減少sqlserver的占用,先後使用了兩個解決辦法 資料庫...
資料庫以及資料庫管理系統 1
資料庫 db 就是計算機中按照一定格式儲存起來的一定資料的集合。作業系統不直接對他們進行管理,而是通過資料庫管理系統 dbms 對他們進行管理。存在有很多種不同的資料庫管理系統,是按照對資料的不同阻止方式來劃分。最常見的是關係式資料庫 rdbms 還有一些不少的非關聯式資料庫。例如鍵值儲存系統,物件...