本篇內(nèi)容主要講解“怎么對MySQL服務(wù)器進(jìn)行調(diào)優(yōu)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么對MySQL服務(wù)器進(jìn)行調(diào)優(yōu)”吧!
成都創(chuàng)新互聯(lián)主營義縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),義縣h5重慶小程序開發(fā)公司搭建,義縣網(wǎng)站營銷推廣歡迎義縣等地區(qū)企業(yè)咨詢有3種方法可以加快MySQL服務(wù)器的運(yùn)行速度,效率從低到高依次為:
第一種方法時(shí)替換有問題的硬件。對MySQL進(jìn)程的設(shè)置進(jìn)行調(diào)優(yōu)。對查詢進(jìn)行優(yōu)化。
替換有問題的硬件通常是我們的第一考慮,主要原因是數(shù)據(jù)庫會(huì)占用大量資源。不過這種解決方案也就僅限于此了。實(shí)際上,您通??梢宰屩醒胩幚砥?CPU)或磁盤速度加倍,也可以讓內(nèi)存增大4到8倍。
第二種方法是對MySQL服務(wù)器(也稱為mysqld)進(jìn)行調(diào)優(yōu)。
對這個(gè)進(jìn)程進(jìn)行調(diào)優(yōu)意味著適當(dāng)?shù)胤峙鋬?nèi)存,并讓mysqld了解將會(huì)承受何種類型的負(fù)載。加快磁盤運(yùn)行速度不如減少所需的磁盤訪問次數(shù)。類似地,確保MySQL進(jìn)程正確操作就意味著它花費(fèi)在服務(wù)查詢上的時(shí)間要多于花費(fèi)在處理后臺(tái)任務(wù)(如處理臨時(shí)磁盤表或打開和關(guān)閉文件)上的時(shí)間。對mysqld進(jìn)行調(diào)優(yōu)是該篇文章的重點(diǎn)。
好的方法是確保查詢已經(jīng)進(jìn)行了優(yōu)化。這意味著對表應(yīng)用了適當(dāng)?shù)乃饕?,查詢是按照可以充分利用MySQL功能的方式來編寫的。盡管該篇文章并沒有包含查詢調(diào)優(yōu)方面的內(nèi)容(很多著作中已經(jīng)針對這個(gè)主題進(jìn)行了探討),不過它會(huì)配置mysqld來報(bào)告可能需要進(jìn)行調(diào)優(yōu)的查詢。
雖然已經(jīng)為這些任務(wù)指派了次序,但是仍然要注意硬件和mysqld的設(shè)置以利于適當(dāng)?shù)卣{(diào)優(yōu)查詢。機(jī)器速度慢也就罷了,我曾經(jīng)見過速度很快的機(jī)器在運(yùn)行設(shè)計(jì)良好的查詢時(shí)由于負(fù)載過重而失敗,因?yàn)閙ysqld被大量繁忙的工作所占用而不能服務(wù)查詢。
如何對MySQL服務(wù)器進(jìn)行調(diào)優(yōu)
第三種方法是記錄慢速查詢
在一個(gè)SQL服務(wù)器中,數(shù)據(jù)表都是保存在磁盤上的。索引為服務(wù)器提供了一種在表中查找特定數(shù)據(jù)行的方法,而不用搜索整個(gè)表。當(dāng)必須要搜索整個(gè)表時(shí),就稱為表掃描。通常來說,您可能只希望獲得表中數(shù)據(jù)的一個(gè)子集,因此全表掃描會(huì)浪費(fèi)大量的磁盤I/O,因此也就會(huì)浪費(fèi)大量時(shí)間。當(dāng)必須對數(shù)據(jù)進(jìn)行連接時(shí),這個(gè)問題就更加復(fù)雜了,因?yàn)楸仨氁獙B接兩端的多行數(shù)據(jù)進(jìn)行比較。
當(dāng)然,表掃描并不總是會(huì)帶來問題;有時(shí)讀取整個(gè)表反而會(huì)比從中挑選出一部分?jǐn)?shù)據(jù)更加有效(服務(wù)器進(jìn)程中查詢規(guī)劃器用來作出這些決定)。如果索引的使用效率很低,或者根本就不能使用索引,則會(huì)減慢查詢速度,而且隨著服務(wù)器上的負(fù)載和表大小的增加,這個(gè)問題會(huì)變得更加顯著。執(zhí)行時(shí)間超過給定時(shí)間范圍的查詢就稱為慢速查詢。
您可以配置mysqld將這些慢速查詢記錄到適當(dāng)命名的慢速查詢?nèi)罩局?。管理員然后會(huì)查看這個(gè)日志來幫助他們確定應(yīng)用程序中有哪些部分需要進(jìn)一步調(diào)查。清單1給出了要啟用慢速查詢?nèi)罩拘枰趍y.cnf中所做的配置。
清單1.啟用MySQL慢速查詢?nèi)罩?/p>
以下為引用的內(nèi)容:
[mysqld];enabletheslowquerylog,default10secondslog-slow-queries;logqueriestakinglongerthan5secondslong_query_time=5;logqueriesthatdon’tuseindexeseveniftheytakelessthanlong_query_time;MySQL4.1andneweronlylog-queries-not-using-indexes
這三個(gè)設(shè)置一起使用,可以記錄執(zhí)行時(shí)間超過5秒和沒有使用索引的查詢。請注意有關(guān)log-queries-not-using-indexes的警告:您必須使用MySQL4.1或更高版本。慢速查詢?nèi)罩径急4嬖贛ySQL數(shù)據(jù)目錄中,名為hostname-slow.log。如果希望使用一個(gè)不同的名字或路徑,可以在my.cnf中使用log-slow-queries=/new/path/to/file實(shí)現(xiàn)此目的。
閱讀慢速查詢?nèi)罩竞檬峭ㄟ^mysqldumpslow命令進(jìn)行。指定日志文件的路徑,就看到的是一個(gè)慢速查詢的排序后的列表,并且還顯示了它們在日志文件中出現(xiàn)的次數(shù)。一個(gè)非常有用的特性是mysqldumpslow在比較結(jié)果之前,會(huì)刪除任何用戶指定的數(shù)據(jù),因此對同一個(gè)查詢的不同調(diào)用被計(jì)為一次;這可以幫助找出需要工作量最多的查詢。
到此,相信大家對“怎么對MySQL服務(wù)器進(jìn)行調(diào)優(yōu)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
文章名稱:怎么對MySQL服務(wù)器進(jìn)行調(diào)優(yōu)-創(chuàng)新互聯(lián)
URL分享:http://aaarwkj.com/article42/hojhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)、軟件開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容