mysql資料庫結構設計和sql優化
資料庫設計對效能的影響
1.過分的反正規化化設計為表建立太多的列(服務層和儲存引擎層之間通過反衝格式來拷貝資料和解析成列,列過多,帶來額外的cpu消耗)
2.過分正規化化造成過多的表關聯,mysq最多支援61張表的關聯查詢,需要控制在10個以內
3.使用不恰當的分割槽表
4.使用了外來鍵
mysql效能優化順序
1.資料庫結構設計和sql語句(需要持續關注)
2.儲存引擎的選擇和引數配置
3.系統選擇與優化
4.硬體公升級
mysql基準測試
基準測試常見指標
1.tps
2.qps
3.響應時間
mysql基準測試工具
1.msyqlslap mysql伺服器自帶的基準測試工具
測試語句:
mysqlslap --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest --only-print | more
2.sysbench
資料庫結構設計優化
目的:
步驟:
資料庫設計正規化:
資料庫的反正規化化:
反正規化化是使用空間來換取時間
正規化化和反正規化化的優缺點比較
正規化化:
反正規化化:
資料庫的物理設計:
varchar最大長度為65535個字元
在記憶體中使用的是定長的資料結構,所以varchar(5)和varchar(255)並不一樣
char型別避免產生儲存碎片
datetime也可以做到自動更新
mysql效能優化配置總結
看了一些優化mysql運維的一些書籍,在此記錄總結下 進入mysql客戶端輸入以下sql 1 連線設定 show variables like max connection show status like max used connections max used connections max ...
mysql效能優化總結 三
mysql體系結構 外掛程式式儲存引擎,將資料的查詢和儲存相分離.每一款儲存引擎都有各自的優缺點.可以靈活選用 架構 客戶端 mysql服務層 儲存引擎層 儲存引擎是針對表,不是針對庫,同一庫中的不同的表,可以使用不同的儲存引擎.但是不建議這樣做 儲存引擎的不同會對效能產生直接的影響.mysql常用...
mysql效能優化總結 一
一.什麼決定雙11大促的成敗?場景 原資料庫架構為1m15s,m伺服器效能很好,64核512g記憶體,io採用fushion io,比一般磁碟的讀寫能力高很多.缺點 1.只有乙個主庫,沒有主從切換中介軟體,每次如果主庫掛了,需要運維人員手動進行切換,然後同步給其他從庫,耗時高 超過半小時不可用 2....