日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MySql 性能优化

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySql 性能优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL 憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性能出色,但所謂“好馬配好鞍”,如何能夠更好的使用它,已經成為開發工程師的必修課,我們經常會從職位描述上看到諸如“精通 MySQL”、“SQL 語句優化”、“了解數據庫原理”等要求。

什么是數據庫的性能

  • 用查詢的響應時間度量性能,性能即響應時間。
  • 優化性能,在一定工作負載下,降低查詢的響應時間。

性能趨勢

優化方向

  • 硬件優化
  • 操作系統優化
  • MySql 配置優化
  • 表結構優化
  • 適用優化
  • 架構優化

硬件優化

垂直擴展、向上擴展,購買強悍的硬件獲取更高的性能。

  • 無論使用公有云的RDS,還是自建MySQL,該優化方向都是代價最小的,性能優化的首選之一。
  • 時間就是金錢。
  • 人力成本遠遠大于硬件成本。

操作系統優化

  • IO 調度策略 - 操作系統與磁盤的通信方式

  • RAID卡策略 – MegaCli工具
  • write back
  • write through
  • BUU

  • swapness,代表權重,即使設置0也有可能會使用swap。
  • NUMA,高版本innodb_numa_interleave。
  • ulimit

MySql 優化配置

  • innodb_buffer_pool_size
  • innodb_io_capacity
  • innodb_thread_concurrency
  • innodb_flush_log_at_trx_commit
  • sync_binlog

MySql 版本選擇

  • MySQL
  • Percona
  • MariaDB

表結構優化

  • 最佳實踐 - bigint類型的自增主鍵。

使用優化

  • 分類了四種在使用方面的性能問題原因以及出現場景

使用優化之 慢查詢

  • 現象:負載增加、慢查數據量增加。
  • 解決:分析慢查日志,優先解決掉掃描行數大的慢查。
  • 預防:

使用優化之 并發量

  • 現象:負載陡增、QPS/TPS增加、thread_running增加。
  • 解決:架構優化,過載保護,安全防護。
  • 業務場景預防:容量壓測、業務評估,找到熱點數據、熱點操作,隔離、緩存、限流。

    使用優化之 數據量

  • 現象:負載增加,某個表慢查數量增加。
  • 解決:分析慢查日志,定位數據量異常的表。
  • 預防:監控無索引使用的查詢。

    使用優化之 執行計劃

  • 現象:負載增加,某個id的慢查數量增加。
  • 原因:因為采樣誤差、延后,靜態模型,優化器會判斷失誤。
  • 解決:
    • 分析慢查,同一類慢查掃描行數max與min之差如果該值過大,需要注意。
    • SQL中加入提示詞,STRAIGHT_JOIN、FORCE_INDEX等。
  • 預防:避免、監控數據傾斜情況發生。

使用優化之 pt-query-digest

  • 為每類SQL生成fingerprint,很方便構建SQL指紋庫。
  • 方便做二次修改或者包一層。

架構優化

  • 演進方向

架構優化-以秒殺為例

  • 熱點操作
    • 讀操作
    • 寫操作
    • 發現熱點數據
    • 靜態數據,可以提前預測的熱點數據。
    • 動態數據,不可預測的熱點數據。
  • 處理熱點數據的常見方法 - 緩存、限流

總結

想要做好數據庫優化,就要先做好測量(監控)。
監控盡可能的全面(KV,事件類,日志類),用數據說話。

分享鏈接:https://ke.qq.com/course/404589?taid=3237791161265261&tuin=1d644a5

轉載于:https://www.cnblogs.com/reboot51/p/10869890.html

總結

以上是生活随笔為你收集整理的MySql 性能优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。