快速入門全棧 07 DBMS效能優化

2021-10-06 23:57:16 字數 2089 閱讀 1813

一、什麼是dbms?

資料庫管理系統,database management system,用於建立、使用和維護資料庫,簡稱dbms。他對資料庫進行統一的管理和控制,以保證資料庫的安全性和完整性。資料庫管理系統是乙個提供資料錄入、刪除、修改、查詢的資料操作軟體,具有資料定義、資料操作、資料儲存與管理、資料維護、通訊等功能。

二、oracle資料庫硬體效能優化

oracle資料庫是目前業界較為成功的關係型資料庫系統,可以執行在unix、windows等主流作業系統平台。

資料庫的效能取決於cpu、記憶體、磁碟、網路條件。資料庫建立在多個表空間上,分為控制檔案、日誌檔案、資料檔案、口令檔案、引數檔案。

raid通常使用在資料庫集群上,也就是rac模式。當資料庫訪問壓力較大時,我們需要做負載均衡。

三、作業系統引數調整

在linux系統上,我們可以通過一系列指令來檢視系統負載

cat /proc/cpuinfo

cat /proc/meminfo

df -h

我們還可以使用top和free來檢視cpu和記憶體的使用情況

我們可以在linux上修改使用者的shell限制

vim /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

nofile是最大可以開啟的檔案數量,nproc是單個使用者可用的最大程序數量。soft的是軟限制,hard是硬限制,使用者可以超過軟限制但一定不能超過硬限制,一般soft比hard小。

pam驗證模組/lib/security/pam_limits.so可以限制使用者會話過程中對各種系統資源的使用。

我們還可以修改linux核心的shmall和shmmax引數。shmmax是linux程序可以分配的單獨共享記憶體段的最大值,一般設定為記憶體大小的一般。shmall設定共享記憶體總頁數。這個值太小了可能導致資料庫啟動報錯。

四、oracle資料庫記憶體分配

自動sga管理 (asmm),可以自動分配oracle使用的記憶體

alter system set memory_max_target =

1024m scope = spfile;

alter system set memory_target =

1024m scope = spfile;

alter system set sga_target =

1024m scope = spfile;

alter system set pga_aggregate_target =

1024m scope = spfile;

memory_target是動態控制sga和pga時,oracle總共可以使用的共享記憶體大小。

memory_max_target是定義的memory_target最大可以達到而不用重啟例項的值。sga_target與pga_aggregate_target都設定為0,才能開啟自動記憶體管理。

oracle官方文件推薦,memory_target=物理記憶體x80%,memory_max_size=物理記憶體x80%.對於oltp西永,sga_target=(物理記憶體x80%)x80%,sga_max_size=(物理記憶體x80%)x80%,pga_aggregate_target=(物理記憶體x80%)x20%。對於olap系統,sga_target=(物理記憶體x80%)x50%,sga_max_size=(物理記憶體x80%)x50%,pga_aggregate_target=(物理記憶體x80%)x50%

五、oracle資料結構設計

資料庫設計規範

欄位的設計

字段順序

索引設計

復合索引字段

六、oracle sql語句優化

根據下面的方法,來提公升sql語句的執行效率

Direct2D 快速入門

本文為msdn direct2d 部分譯文,歡迎指點!原文 direct2d 是用於建立2d圖形的本地即時模式應用程式介面。本文介紹如何在典型的win32應用程式中運用direct2d進行繪製。switch message return 0 處理其它訊息.要用 gdi 繪製乙個矩形,需要捕獲 wm ...

Unity3D如何快速入門?

一句話說明下unity是什麼,unity是乙個開發遊戲,主要用於手機遊戲開發的引擎,什麼是引擎,引擎就是工具的意思。在我看來,b 站是乙個非常牛逼的學習 真心的 上面的內容包羅永珍,應有盡有。比如 這套課程從基礎的資料型別講起,到後期的物件導向,正規表示式,包含委託事件特性等高階課程等。非常全面,他...

python全棧之巔 python基礎入門第0天

一。python的起源 python是一門 解釋型弱型別程式語言.另外還有乙個選擇python 的理由是後面自己可能會自學一些人工智慧,機器學習等內容,也算是先打打基礎吧.特點 簡單.明確.優雅 二。python的直譯器 cpython.官方提供的.內部使用c語言來實現 pypy.一次性把我們的 解...