日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

10個提升MySQL性能的小技巧

瀏覽:144日期:2023-10-16 14:43:09

10個提升MySQL性能的小技巧

從工作量分析到索引的三條規則,這些專家見解肯定會讓您的MySQL服務器尖叫。

在所有的關系數據庫中,MySQL已經被證明了完全是一頭野獸,只要通知停止運行就絕對不會讓你多等一秒鐘,使你的應用置于困境之中,你的工作也承受極大的風險。

不過事實是,普通的錯誤都在MySQL性能錯誤的射程之內。所以為了使你的MySQL服務器能夠高速運轉,提供穩定且持續的服務,消除這些錯誤是非常有必要的,但是這可能常常會被你的繁忙工作或配置陷阱微妙地遮蔽了。

幸運的是,許多MySQL性能問題其實都有相似的解決辦法,發現并解決問題,然后你的MySQL用起來就順手多啦。

接下來就和大家分享一下10個使MySQL性能提升的小技巧。

MySQL性能提升小技巧1:對你的工作進行配置

想要了解你的服務器到底如何支配時間,最好的辦法就是對服務器的工作進行配置。通過配置你的服務器,你可以expose最昂貴的query來為將來的調優做準備。從這個角度,時間就是最重要的衡量標準,因為當你對你的服務器發起一個query之后,除了它到底多塊的完成之外你不會關心任何其他事。

配置你的工作文件的最優解就是MySQL Enterprise Monitor的query分析儀或者Percona Toolkit的pt-query-digest。這些工具可以幫助你捕捉你的服務器正在執行的詢問以及返回按響應時間遞減順序排序的任務表,它還會持續不斷地把最昂貴、費時的任務更新在最上方,這樣你就能知道你的精力應該更加集中在什么地方了。

工作文件配置工具會把相似的詢問分在一個組,你可以很方便地查看低速運行或者是告訴運行但是多次進行的詢問。

MySQL性能提升小技巧2: 深入理解四個基本資源

一個數據庫服務器需要以下4種資源才能正常運轉:CPU,內存,硬盤以及網絡。如果這其中任何一種性能不足,運轉不力或者超負荷運轉的話,那么數據庫服務器就非??赡鼙憩F不佳。

理解基礎的資源是非常重要是以下兩個層面:選擇硬件以及疑難問題解答。

當為MySQL選擇硬件的時候,確保所有的組件都表現良好。同樣重要的是把它們進行合理的配置。大多是時候,一些機構會選擇高轉速的CPU以及硬盤,但是他們通常來講內存都不夠用。在某些情況下,按照數量級增加內存是提升性能最廉價的辦法,尤其是工作負載是綁定磁盤的情況下。這聽起來可能違反常識,但是在許多情況下,硬盤都是過度使用的,因為沒有足夠的內存來儲存數據工作集。

另外一個平衡的典范當屬CPU。在大多數情況下,MySQL使用高轉速的CPU會運轉得很好,因為每一個詢問都是在單線程中運行而不能在CPU之間并行。

當要解答疑難問題的時候,請了解清楚所有資源的性能和使用情況,用你審慎的目光來判斷它們到底是本來就性能差勁還是因為承載了過多的任務。這個姿勢應該能讓你解決問題快一些。

MySQL性能提升小技巧3:別吧MySQL當成一個隊列使

隊列和隊列訪問模式可以在你完全沒有察覺的情況下偷偷進入你的應用。舉個栗子,如果你設置了某個項的狀態,以便某個特定的工作進程在調用它之前可以聲明它,那么你就在無意中創建了一個隊列。把郵件標記為未發送,發送它們,然后它們被標記為已發送就是一個很好理解的栗子。

隊列會產生問題主要有2個原因:它們連續運轉你工作,防止它們并行,那么這通常就會產生一個表格,里面包含了進程中的工作還有很久以前已完成工作的歷史數據。這不僅會使你的應用產生延遲而且也會給MySQL增加不必要的負荷。

MySQL性能提升小技巧4: 花費最少的結果先過濾

優化MySQL性能最好的辦法就是先完成廉價、不確定的工作,然后在最小的結果數據集中完成艱難、準確的工作。

例如你要通過一個給定的地理位置半徑來找到你想要的東西。在大多數程序員的工具箱里,他們首先會想到的一定是計算球面上的距離的大圓公式(Haversine)。但是用這個公式的問題在于可能要用到很多三角方面的運算,這對CPU的要求是非常高的。大圓的計算往往運行緩慢,使得機器的CPU使用率飆升。

在你開始應用大圓公式之前,在總集當中將你的記錄減少成最小的子集,并把結果集整合成一個確切的圓。一個包含圓(確切或不確切的)的正方形是解決這個問題最簡單的方法。這樣的話,正方形之外的一切都不回碰上這些成本昂貴的三角函數。

MySQL性能提升小技巧5:了解兩種伸縮性死亡陷阱

伸縮性其實并不像你想象的那樣捉摸不定。實際上在數學當中已經有非常明確的將伸縮性表示為方程式的定義。這些方程式突出展現了為什么系統并沒有如預期那樣的良好伸縮。

參見通用可擴展法(Universal Scalability Law)—非常清晰地解釋和量化了一個系統的伸縮性特性。它從兩個基礎成本方面對伸縮性問題進行了闡釋:序列化(serialization)和串擾(crosstalk)。

多進程必須為在伸縮性上具有固有限制的序列化停止工作。相似地,如果多個進程必須時時刻刻互相交流才能配合他們的工作的話,他們就是在互相限制。

避免序列化以及串擾,你的應用伸縮性將會大大提升。那么在對MySQL來說意味著什么呢?因情況而異,但有些示例可以避免對行進行排它鎖定。關于隊列,參見技巧3,往往會因為隊列伸縮性就變得很差。

MySQL性能提升小技巧6:不要太關注配置

DBA常常耗費大量的時間來調整配置。換來的結果有時卻是傷害而不是大的提升。我看到過許多的最優化的服務器時不時就崩潰,內存不足,而且在工作負載稍微多一點的時候就表現很差。

MySQL上搭載的默認配置是一刀切并且嚴重過時的,但是它們也不需要完全重新配置。只要把最基礎的設置正確,有需要的話再做小幅調整即可。在大多數情況下,通過正確設置大約10個選項,你可以獲得服務器峰值性能的95%。其他無法應用此方法的的情況的話應該是非常特殊的情況,所以就不用去管他了。

在大多數情況下,服務器“轉換”工具是不推薦的,因為它們常常會有一些在特定情況下并不適用的規則。有些甚至存在危險且不準確編碼—例如緩存命中率和內存消耗公式。這些都是不對的,而且隨這時代的進步他們變得更加地不對。

MySQL性能提升小技巧7: 小心分頁詢問

分頁應用常常會把服務器搞癱瘓。在向你展示結果的頁面當中,有翻到下一頁的鏈接,這類應用通常不以索引的方式進行分類整理,然后他們使用一種 LIMIT和 offset使得服務器做大量的工作生成,然后丟棄行。

優化選項在用戶界面常常自己就能找到。而不是展示確切的頁數結果以及每個頁面的單獨鏈接,只展示下一列的鏈接就好。你也可以防止大家翻到太后面的頁數。

從質詢方面來看,你可以比你想要的多選取一行,然后當你點擊“下一頁”鏈接的時候,你可以指定最后一行作為下一組結果的起點,而不是使用帶offset的 LIMIT。舉個栗子,當用戶在查看120行中的第101行時,你會同時select第121行;為了遞交下一頁,你可以向服務器詢問第121行或者超過121的行,限定在21。

MySQL性能提升小技巧8: 及時保存數據,審慎警告

監管和預警是必不可少的,但是典型的監控系統到底怎么了?它開始發送一些錯誤的手勢,然后系統管理員就設置了垃圾郵件過濾規則來停止這些煩擾。然后很快你的監管系統就會完全癱瘓。

我傾向于從兩個方面來看待監管;獲取指標以及發出預警。盡可能的獲取并保存指標是非常重要的,因為當你想要知道系統到底改變了什么的時候你會很慶幸你當初保存了它們。有一天會突然出現一個很奇怪的錯誤,然后你就會很高興你有能力指出服務器的工作負載中的一段然后展示這個改變。

相比之下,警告就可能有點多了。人們常常會對緩存命中率或者短期內每秒所創建的表格發出警告。問題是對這種緩存命中率并沒有一個合適的閾值。正確的閾值并不是隨著服務器的不同而變化,而是隨著你工作負載的不同,每一個小時都是不一樣的。

這就導致,警告只能有節制地并且只能在預示一個具體、可操作的問題時才是可行的。一個低緩存命中率并不是可操作的問題,而且他也不指向一個實在的問題,但對連接嘗試沒有響應的服務器才是真正需要結局的問題。

MySQL性能提升小技巧9: 學習index的三條法則

Index可能是數據庫匯總最難理解的概念,因為很容易就對Index到底如何工作以及服務器如何使用它們感到困惑。確實要花些力氣才能真正理解它到底是怎么回事。

Index經過適當設計后,主要在數據庫服務器中提供如下三種服務:

Index讓服務器查找相鄰行的集合而不是單獨的行。許多人可能會認為index的作用就是為了查找單獨的行,但是查找單獨的行會導致混亂的硬盤操作,速度就會變慢。而且查找行的集合要容易多了,所有或者說大多數都比一次只查找一個行要有趣多了。

Index通過按照閱讀喜好進行排列省去了整理的過程。整理是耗費巨大的。按照自己的喜好進行閱讀效率也更高。

Index完全滿足了服務器的詢問,根本就不需要再連接表格。這是眾所周知的覆蓋索引或僅索引查詢。

如果你可以定義自己的索引和詢問來利用這三個機會,你就可以使查詢速度快幾個數量級。

MySQL性能提升小技巧10: 利用同行的專業知識

不要一個人冒險。如果你對一個問題感到煩惱,同時也在做一些對你來說有邏輯且隔離的解決方式,那很好。這在20次中可能會有19次是有效的。但是剩下的1次,你可能會掉進兔子洞里,會非常費時費力,這完全是因為你現在所做的努力只是看起來可能是有意義的。

建立與MySQL相關的資源網絡,這超越了工具和故障排除指南。有一些非常有知識的人潛伏在郵件列表、論壇、問答網站上,等等。會議、展會和本地用戶團體活動都提供了寶貴的機會,讓你能與那些在緊要關頭幫助你的同行建立聯系。

如果你們想要找工具對上述的技巧進行實踐,你可以看看 Percona Configuration Wizard for MySQL , Percona Query Advisor for MySQL , 以及 Percona Monitoring Plugins 。(你需要注冊一個Percona賬號才可以免費進入前兩個鏈接。)配置向導可為新的服務器生成一個基準my.cnf文件,這個文件優于服務器上的樣本文件。Query advisor會分析你的SQL查詢來檢測潛在的壞模式,如分頁查詢(技巧7)。Percona Monitoring Plugins是一系列的監管和圖形繪制插件,它們可以幫助你及時保存數據并且警惕預警(技巧8)。所有這些工具都是免費的哦。

來自:http://www.cocoachina.com/programmer/20170731/20067.html

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲区国产区| 亚洲精品91| 青青伊人久久| 在线国产日韩| 综合欧美精品| 亚洲免费毛片| 日本午夜精品久久久久| 日本欧美一区| 日韩国产在线不卡视频| 青青国产91久久久久久| 国产区精品区| 久久久亚洲欧洲日产| 日韩成人精品一区| 热三久草你在线| 久久久久久久久丰满| 亚洲一级高清| 久久亚洲风情| 日本不卡中文字幕| 91精品啪在线观看国产爱臀| 日韩国产一二三区| 国产精品videossex| 国产一区二区三区黄网站| 热三久草你在线| 国产一区日韩欧美| 石原莉奈在线亚洲三区| 欧美专区一区| 四虎成人av| 午夜欧美精品| 日韩在线电影| 精品国产网站| 欧美日韩一二| 无码日韩精品一区二区免费| 久久超级碰碰| 成人日韩精品| 视频在线观看一区| 欧美精品福利| av高清不卡| 美女黄网久久| 欧美激情精品| 久久人人精品| 综合一区二区三区| 久久精品国产福利| 不卡一区2区| 日本视频一区二区| 中文字幕在线高清| 日韩中文字幕1| 欧美激情一区| re久久精品视频| 五月亚洲婷婷 | 99国产精品久久久久久久| 美国欧美日韩国产在线播放| 国产精品22p| 欧美日韩国产免费观看视频| 欧美日韩va| 99久久夜色精品国产亚洲1000部| 在线观看亚洲精品福利片| 国产精品极品| 国产99久久久国产精品成人免费| 少妇精品久久久一区二区| 国产一区2区| 久久国产高清| 久久精品亚洲一区二区| 一区福利视频| 国产精品美女久久久久久不卡| 久久影院一区| 国产精品一国产精品| 欧美搞黄网站| 久久久久观看| 蜜臀久久99精品久久久久宅男 | 日本免费新一区视频| 亚洲啊v在线| 日韩综合一区二区三区| 日韩成人精品一区| 亚洲日产国产精品| 日韩中文首页| 国产精品宾馆| 免费的成人av| 久久三级视频| 欧美精品99| 首页欧美精品中文字幕| 91免费精品| 国产欧美午夜| 午夜在线精品| 色吊丝一区二区| 国产精品天堂蜜av在线播放| 国产麻豆综合| 亚洲精品.com| 欧美精品二区| 亚洲a级精品| 亚洲欧美日本视频在线观看| 久久男人天堂| 美腿丝袜亚洲三区| 日本精品久久| 日韩影院在线观看| 欧美a级一区| 91一区二区| 欧美激情视频一区二区三区在线播放| 三级欧美在线一区| 亚洲欧洲日本mm| 亚洲手机在线| 群体交乱之放荡娇妻一区二区| 麻豆国产一区| 亚洲毛片一区| 国产农村妇女精品一二区| 一本大道色婷婷在线| 国产aⅴ精品一区二区三区久久| 欧美日韩xxxx| 亚洲精品九九| 一区二区亚洲视频| 国产精品免费看| 亚洲性图久久| 色婷婷久久久| 韩国精品主播一区二区在线观看 | 中文字幕日韩高清在线| 欧美 日韩 国产一区二区在线视频| 国产一区二区三区免费在线 | 综合视频一区| 麻豆精品网站| 亚洲综合日本| 在线视频亚洲| 黄色日韩在线| 久久av在线| 蜜桃免费网站一区二区三区| 老牛国产精品一区的观看方式| 激情欧美丁香| 少妇精品导航| 欧美日韩中文一区二区| 私拍精品福利视频在线一区| 亚洲精品成人图区| 日韩国产一区二区三区| 精品日本视频| 免费高潮视频95在线观看网站| 日韩免费一区| 今天的高清视频免费播放成人| 亚洲大全视频| 国产毛片一区| 伊人国产精品| 日韩精品午夜视频| 欧美日韩精品一区二区三区在线观看| 一区二区亚洲视频| 日韩精选在线| 国产精品亚洲欧美一级在线| 欧美a在线观看| 精品一区二区三区中文字幕视频| 你懂的亚洲视频| 国际精品欧美精品| 女生影院久久| 91久久在线| 亚洲精选av| 久久狠狠久久| 国产精品99一区二区三| 99精品视频在线| 男女激情视频一区| 欧美日韩网址| 麻豆精品99| 日韩av一级| 免费人成精品欧美精品| 91精品啪在线观看国产爱臀| 精品视频在线一区二区在线| 成人免费电影网址| 男人的天堂久久精品| 国产精品网站在线看| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日本国产亚洲| 欧美国产日韩电影| av一区在线| 日韩影院在线观看| 国产精品久久久久久久久久齐齐| 成人亚洲一区| 中文一区二区| 国产日韩一区| 国产精品久久久久久久久久10秀| 亚洲综合电影| 亚洲一卡久久| 国产精品a级| 999久久久91| 日韩高清在线不卡| 国产精品久久久久av电视剧| 免费精品视频| 国产精品手机在线播放| 久久久一二三| 日韩av一区二| 日韩一区二区中文| 在线精品一区二区| 国产不卡精品| 亚洲开心激情| 成人午夜网址| 亚洲精品一区二区妖精| 国产视频一区二区在线播放| 91精品国产自产在线观看永久∴ | 亚洲大全视频| 免费亚洲婷婷| 国产亚洲毛片| 精品久久久久久久| 久久性天堂网| 国产精品毛片一区二区在线看| 三级在线观看一区二区 | 91综合网人人| 亚洲2区在线| av高清一区|