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