網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

數據庫優化經驗技巧及注意事項

欄目: 數據庫操作系統 / 發佈於: / 人氣:2.47W

數據庫優化方面的經驗?用PreparedStatement 一般來説比Statement性能高:一個sql 發給服務器去執行,涉及步驟:語法檢查、語義分析,編譯,緩存“inert into user values(1,1,1)”-à二進制“inert into user values(2,2,2)”-à二進制“inert into user values(?,?,?)”-à二進制有外鍵約束會影響插入和刪除性能,如果程序能夠保證數據的完整性,那在設計數據庫時就去掉外鍵。(比喻:就好比免檢產品,就是為了提高效率,充分相信產品的製造商)(對於hibernate來説,就應該有一個變化:empleyee->Deptment對象,現在設計時就成了employeeàdeptid)看mysql幫助文檔子查詢章節的最後部分,例如,根據掃描的原理,下面的子查詢語句要比第二條關聯查詢的效率高:1. select ,ry where gerid=(select id from employee where name='zxx');2. select ,ry,,ry from employees e,employees m gerid = and ='zxx';表中允許適當宂餘,譬如,主題帖的回覆數量和最後回覆時間等將姓名和密碼單獨從用户表中獨立出來。這可以是非常好的一對一的案例喲!sql語句全部大寫,特別是列名和表名都大寫。特別是sql命令的緩存功能,更加需要統一大小寫,sql語句à發給oracle服務器à語法檢查和編譯成為內部指令à緩存和執行指令。根據緩存的特點,不要拼湊條件,而是用?和PreparedStatment還有索引對查詢性能的改進也是值得關注的。備註:下面是關於性能的討論舉例4航班 3個城市m*nselect * from flight,city where tcityid=id and ='beijing';m + nselect * from flight where startcityid = (select cityid from city where cityname='beijing');select ,'beijing',htTime from flight where startcityid = (select cityid from city where cityname='beijing')

數據庫優化經驗技巧及注意事項

如何完全卸載刪除oracle數據庫

很多朋友只用了oracle的刪除,但很多情況下,他會發現重新安裝時,點了下一步安裝界面就消失了,

往往無奈下只好重裝系統,其實只是你數據庫沒刪乾淨,刪乾淨就不會出現這種情況了。

實現方法:

1、開始->設置->控制面板->管理工具->服務

停止所有Oracle服務。

2、開始->程序->Oracle - OraHome81->Oracle Installation Products->

Universal Installer

卸裝所有Oracle產品,但Universal Installer本身不能被刪除

5、運行regedit,選擇HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,按del鍵刪除這個入口。

6、運行regedit,選擇HKEY_LOCAL_MACHINE/SYSTEM/Current/ControlSet/Services,滾動

這個列表,刪除所有Oracle入口。

7、運行refedit,

HKEY_LOCAL_MACHINE/SYSTEM/Current/ControlSet/Services/Eventlog/Application,

刪除所有Oracle入口。

8、開始->設置->控制面板->系統->高級->環境變量

刪除環境變量CLASSPATH和PATH中有關Oracle的設定

9、從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標

10、刪除Program FilesOracle目錄

11、重新啟動計算機,重起後才能完全刪除Oracle所在目錄

12、刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:Oracle,刪除這個入

口目錄及所有子目錄,並從Windows 2000目錄(一般為C:WINNT)下刪除以下文

件、、、等等。

13、文件中若有[ORACLE]的標記段,刪除該段

14、如有必要,刪除所有Oracle相關的ODBC的DSN

15、到事件查看器中,刪除Oracle相關的日誌

説明:

如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝。安裝時,選擇一個新的目錄,則,安裝完畢並重新啟動後,老的目錄及文件就可以刪除掉了

使用ADO編程如何判斷一個數據庫是否存在

(1)、可打開master數據庫中一個叫做SCHEMATA的視圖,其內容列出了該服務器上所有的數據庫名稱。

(2)、更簡便的方法是使用USE語句,成功了就存在;不成功,就不存在。例如:

try{

m_pConnect->Execute(_bstr_t("USEINSURANCE_2002"),NULL,

adCmdText│adExecuteNoRecords);

catch(_com_error&e)

blSuccess=FALSE;

CStringstr="數據庫INSURANCE_2002不存在! ";str+=ription();::MessageBox(NULL,str,"警告",MB_OK│MB_ICONWARNING);

收縮SQL數據庫

一般情況下,SQL數據庫的收縮並不能很大程度上減小數據庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免數據庫日誌過大

1、設置數據庫模式為簡單模式:打開SQL企業管理器,在控制枱根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊打開你的服務器-->雙擊打開數據庫目錄-->選擇

你的數據庫名稱(如論壇數據庫Forum)-->然後點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇“簡單”,然後按確定保存

2、在當前數據庫上點右鍵,看所有任務中的收縮數據庫,一般裏面的默認設置不用調整,直接點確定

3、收縮數據庫完成後,建議將您的數據庫屬性重新設置為標準模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復數據庫的重要依據

SQL Server還原數據庫

1、打開SQL企業管理器,在控制枱根目錄中依次點開MicrosoftSQLServer

2、SQLServer組-->雙擊打開你的服務器-->點圖標欄的新建數據庫圖標,新建數據庫的名字自行取

3、點擊新建好的數據庫名稱(如論壇數據庫Forum)-->然後點上面菜單中的工具-->選擇恢復數據庫

4、在彈出來的窗口中的還原選項中選擇從設備-->點選擇設備-->點添加-->然後選擇你的備份文件名-->添加後點確定返回,這時候設備欄應該出現您剛才選擇的數據庫備份文件名

,備份號默認為1(如果您對同一個文件做過多次備份,可以點擊備份號旁邊的查看內容,在複選框中選擇最新的一次備份後點確定)-->然後點擊上方常規旁邊的.選項按鈕

5、在出現的窗口中選擇在現有數據庫上強制還原,以及在恢復完成狀態中選擇使數據庫可以繼續運行但無法還原其它事務日誌的選項。在窗口的中間部位的將數據庫文件還原為這

裏要按照你SQL的安裝進行設置(也可以指定自己的目錄),邏輯文件名不需要改動,移至物理文件名要根據你所恢復的機器情況做改動,如您的SQL數據庫裝在D:Program

FilesMicrosoftSQLServerMSSQLData,那麼就按照您恢復機器的目錄進行相關改動改動,並且最後的文件名最好改成您當前的數據庫名(如原來是bbs_,現在的數據

庫是forum,就改成forum_),日誌和數據文件都要按照這樣的方式做相關的改動(日誌的文件名是*_結尾的),這裏的恢復目錄您可以自由設置,前提是該目錄

必須存在(如您可以指定d:sqldatabs_或者d:sqldatabs_),否則恢復將報錯

6、修改完成後,點擊下面的確定進行恢復,這時會出現一個進度條,提示恢復的進度,恢復完成後系統會自動提示成功,如中間提示報錯,請記錄下相關的錯誤內容並詢問對SQL

操作比較熟悉的人員,一般的錯誤無非是目錄錯誤或者文件名重複或者文件名錯誤或者空間不夠或者數據庫正在使用中的錯誤,數據庫正在使用的錯誤您可以嘗試關閉所有關於SQL

窗口然後重新打開進行恢復操作,如果還提示正在使用的錯誤可以將SQL服務停止然後重起看看,至於上述其它的錯誤一般都能按照錯誤內容做相應改動後即可恢復

Sql Server備份數據庫

1、打開SQL企業管理器,在控制枱根目錄中依次點開Microsoft SQL Server

2、SQL Server組-->雙擊打開你的服務器-->雙擊打開數據庫目錄

3、選擇你的數據庫名稱(如論壇數據庫Forum)-->然後點上面菜單中的工具-->選擇備份數據庫

4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接着指定路徑和文件名,指定後點

確定返回備份窗口,接着點確定進行備份