MySQL優化總結(一)

2021-10-01 17:25:13 字數 531 閱讀 2341

mysql支援很多種資料型別,不同的字段選擇正確的資料型別對於獲得高效能至關重要。幾個選擇資料型別的簡單的原則如下。

1.盡量使用可以正確儲存資料的最小資料型別,例如只需要存0-200,那麼使用tinyint unsigned更好。原因在於更小的資料型別通常更快,占用更少的磁碟,記憶體以及cpu快取,並且處理時需要的cpu週期也更少。

2.盡量選擇簡單的資料,因為簡單資料型別的操作通常需要更少的cpu週期。例如,整型比字元操作代帶價更低,因為字符集和校對規則(排序規則)使得字元比較比整形比較更複雜。如,應該用mysql內建的型別而不是字串來儲存日期和時間。

3.盡量避免null值,很多表都包含可為null值的列,即使應用程式並不需要儲存null也是如此,通常情況下應該避免null值,除非真的有必要。因為如果查詢中包含可為null值的列比較難以優化,可為null值的列使得索引,索引統計和值比較都更複雜,且會占用更多的儲存空間,當可為null值的列被索引時,每個索引記錄需要乙個額外的位元組。

也有例外,如:innnodb使用單獨的位儲存null值,所以對於稀疏資料有比較好的空間效率。

mysql效能優化總結 一

一.什麼決定雙11大促的成敗?場景 原資料庫架構為1m15s,m伺服器效能很好,64核512g記憶體,io採用fushion io,比一般磁碟的讀寫能力高很多.缺點 1.只有乙個主庫,沒有主從切換中介軟體,每次如果主庫掛了,需要運維人員手動進行切換,然後同步給其他從庫,耗時高 超過半小時不可用 2....

mysql優化總結

如果大家有異議,可以在後面補充。我會隨時更新的。現在大概列出如下 望各位補充 1.資料庫的設計 盡量把資料庫設計的更小的佔磁碟空間.1 盡可能使用更小的整數型別.mediumint就比int更合適 2 盡可能的定義欄位為not null,除非這個字段需要null.這個規則只適合欄位為key的情形 3...

mysql優化總結

1 資料庫設計 滿足三大正規化 第一正規化 列的原子性 第二正規化 確保表中的每列都和主鍵相關,乙個表只能儲存一類資料,不能放多類的資料,第三正規化 確保同一行資料不存在傳遞關係 2 資料庫建表 1 儲存引擎選擇 需要支援事務 外來鍵 更新和查詢都很頻繁的使用innodb,如果要使用全文索引 資料更...