影响性能的几个方面
究竟是什么對數(shù)據(jù)庫的性能造成了影響,數(shù)據(jù)庫性能的影響有幾個方面,第一個對數(shù)據(jù)庫性能又影響的,顯而易見的因素呢,數(shù)據(jù)庫服務器的硬件,當我們個人計算機響應足夠快時,我們總說CPU不夠快,或者磁盤IO太慢,因素引起的,同樣這些問題在服務器上也會存在
同樣這些問題在服務器上也會存在,所以這是人們最能找到的影響因素之一,第二個是服務器所使用的操作系統(tǒng),同樣咱們的個人電腦,我們發(fā)現(xiàn)我們的電腦在有的操作系統(tǒng)上,運行比在其它系統(tǒng)上操作的更加順暢,而對于同樣的操作系統(tǒng),有的時候配置參數(shù)不同,運行流暢度也不同,就拿我們比較熟悉的Windows XP來說,默認的TCP參數(shù)只有10個,而當我們把這個限制調大之后,就會發(fā)現(xiàn),大大加快我們下載的速度,同樣服務器系統(tǒng)也是有區(qū)別的,而對服務器系統(tǒng)的參數(shù)呢,也要比我們個人桌面系統(tǒng)的參數(shù)多得多,對這些參數(shù)的調整呢,會影響咱們服務器的整體性能,而第三個影響性能的因素呢,我們MYSQL服務器的存儲引擎,眾所周知,MYSQL的最大特點,插件式的存儲引擎的設計,我們可以根據(jù)我們業(yè)務的不同需求,自由的選擇我們需要的任何一種存儲引擎,而不同的存儲引擎呢,有不同的特點,比如MySAM引擎它是不支持事務的,同時它使用的是表級鎖,而InnoDB是一種事務級的存儲引擎,同時完美支持行級鎖,以及事務的ACID特性,但是我們并不能因此說,InnoDB一定要比MyISAM要好,在有些場景下,發(fā)現(xiàn)使用MyISAM可能更加的合適,關于存儲引擎的選擇呢,還會有詳細的介紹
影響數(shù)據(jù)庫性能的第四個因素呢,就是數(shù)據(jù)庫服務器的參數(shù),MYSQL有上百項的配置參數(shù),不同的存儲引擎也有不同的配置參數(shù),而有些參數(shù)對性能的影響幾乎是微乎其微的,但是有的參數(shù)是有著決定性的影響,所以根據(jù)我們所選的存儲引擎,業(yè)務模式的不同,對不同的參數(shù)進行優(yōu)化,也是我們作為DBA的一個關鍵技能,前面加起來對性能的影響,可能也沒有最后一個對數(shù)據(jù)庫性能的影響巨大
最后一個就是數(shù)據(jù)庫表結構的設計和SQL語句的執(zhí)行效率,對數(shù)據(jù)庫性能的影響,我們在進行數(shù)據(jù)結構設計的時候,今后我們要在SQL中執(zhí)行什么樣的SQL語句,來對我們所設計的表結構進行查詢和更新,只有這樣才能設計符合我們SQL查詢優(yōu)化邏輯的表結構,慢查詢可以說是大多數(shù)數(shù)據(jù)庫的罪魁禍首,而很多有效類型的SQL,就是由于我們很多數(shù)據(jù)庫表結構設計不合理而造成的,而對于這類SQL來說,也是最難優(yōu)化的,因為我們的業(yè)務一旦上線,就很難對表結構進行更改了,所以呢我們數(shù)據(jù)庫性能優(yōu)化的重點呢,在于數(shù)據(jù)庫庫表結構的設計,SQL語句的編寫和優(yōu)化上,以上就是所有對數(shù)據(jù)庫性能影響的因素,我們應該如何進行優(yōu)化
?
總結
- 上一篇: 大事务带来的问题
- 下一篇: CPU资源和可用内存大小