閱讀屋>資料庫作業系統> 資料庫最佳化經驗技巧及注意事項

資料庫最佳化經驗技巧及注意事項

資料庫最佳化經驗技巧及注意事項

  資料庫最佳化方面的經驗?用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 e.name,e.salary where e.managerid=(select id from employee where name='zxx');2. select e.name,e.salary,m.name,m.salary from employees e,employees m wheree.managerid = m.id and m.name='zxx';表中允許適當冗餘,譬如,主題帖的回覆數量和最後回覆時間等將姓名和密碼單獨從使用者表中獨立出來。這可以是非常好的一對一的案例喲!sql語句全部大寫,特別是列名和表名都大寫。特別是sql命令的快取功能,更加需要統一大小寫,sql語句à發給oracle伺服器à語法檢查和編譯成為內部指令à快取和執行指令。根據快取的特點,不要拼湊條件,而是用?和PreparedStatment還有索引對查詢效能的改進也是值得關注的。備註:下面是關於效能的討論舉例4航班 3個城市m*nselect * from flight,city where flight.startcityid=city.cityid and city.name='beijing';m + nselect * from flight where startcityid = (select cityid from city where cityname='beijing');select flight.id,'beijing',flight.flightTime 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)下刪除以下文

  件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

  13、WIN.INI檔案中若有[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+=e.Description();::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_data.mdf,現在的資料

  庫是forum,就改成forum_data.mdf),日誌和資料檔案都要按照這樣的方式做相關的改動(日誌的檔名是*_log.ldf結尾的),這裡的恢復目錄您可以自由設定,前提是該目錄

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

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

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

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

  Sql Server備份資料庫

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

  2、SQL Server組-->雙擊開啟你的伺服器-->雙擊開啟資料庫目錄

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

  4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點新增,如果原來沒有路徑和名稱則直接選擇新增,接著指定路徑和檔名,指定後點

  確定返回備份視窗,接著點確定進行備份

【資料庫最佳化經驗技巧及注意事項】相關文章: