Sybase數據庫在UNIX、Windows上的實施和管理 討論6 顯示某個登錄用戶的信息

 

Sybase數據庫在UNIX、Windows上的實施和管理》討論6   顯示某個登錄用戶的信息

clip_image002

近來大家討論了一個問題,關於Sybase性能優化中,程序設計和編成對性能的“貢獻率”,索引對性能的“貢獻率”。

 
顯然,性能和數據庫設計、程序寫法有着極大的關係,如果數據庫沒有好的設計,程序沒有優化的編程,單憑Sybase參數優化、物理優化,這樣的調整不可能有好的性能結果:應用程序、數據庫後臺程序決定了性能的80%,在硬件一定的條件下。 

在應用已經確定的情況下,縮短響應時間的最佳辦法是減少物理I/O,其方法來自於判斷索引的有效性、必要性、正確性。總的來說,IO減少會導致性能提升縮短響應時間,而這很大程度上依賴索引:

  • 在一定數據量下避免全表掃描。
  • 定位查詢中定位數據位置。
  • 範圍查詢中確定上下限位置。
  • 在索引科完全使用時採用索引覆蓋,完全數據訪問。
  • 在連接時避免排序操作。

 
但不是什麼時候都可以建立索引,一般情況下可以按照下面的原則創建初始的索引,並測試運行其有效性:

 

  • 爲Unique和primary key創建唯一索引,unique創建nonclustered多飲,primary key創建clustered索引;
  • 如果可能用索引來覆蓋查詢,則可以使用索引覆蓋來進行查詢操作。
  • 如果需要DML操作的表,如果將clustered索引建立了在單調遞增的字段上,如序號列,則則坑農造成索引徵用,如果恰好是allpages表,則鎖爭奪會成爲必然。
  • 如果能建立唯一性索引則最好唯一,這樣優化程序知道只要返回一行紀錄即可,及早結束查詢。
  • 索引鍵不可以太大,如使用小的數據類型。
  • 創建索引時,“誰在前面”很關鍵;
  • 應用程序中應儘量使用索引對象,如查詢中引用被索引前導列

 

這段日子太忙,回覆有些慢,但還是希望對大家有所幫助,文平

 

我們的工作團隊致力於:

¨ 數據庫+顧問服務

¨ 數據庫+培訓服務

¨ 數據庫+優化服務

¨ 數據庫+實施服務

¨ 遠程 + DBA服務

¨ 匯文系統二次開發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章