數據庫調優都涉及哪些方面?

面試時,經常被問及 “數據庫調優”的事情,心想這不是DBA的事嗎,但回答不好還是顯得不夠專業,查壹下資料,許多還真是程序員的事情,下面總結壹下,希望對大家有所幫助。

方面:

以影響程度排序

D1 業務邏輯 (影響最大)
D2 數據設計 (表結構設計,數據建模)
D3 應用程序設計 (SQL 語句的寫法)
D4 數據庫的邏輯結構 (索引,區間,段,表空間)
D5 數據庫操作 (參數和配置)
D6 訪問路徑
D7 內存分配情況
D8 I/O 和物理設計 (DBA 與業務溝通)(峰值多大,使用周期)
D9 資源的征用
D10 操作系統的調節

D1-D3 影響最大但比較難修改 (事先去做)
D4-D9 性能影響不是最大但經常去做的(DBA)
D10 手段不是很多

可以看出D1-D3都是和程序員相關的,這也正合我以前的想法——良好的程序,業務邏輯設計是最好的調優。其他的數據庫系統都為我們做的差不多了。