今天突然看到一年前寫的 mysql 優化(一) ,感覺有些誤人子弟。今天再補充一些東西。
關於引擎選擇,從理論上 和 實際上 可能會有差距,所以,對待mysql 要有實驗精神。
一般來說,
myisam 適合:
1. 做很多count 的計算。
2. 插入不平凡,查詢非常頻繁。
3. 沒有事務
innordb 非常適合:
1. 可靠性要求比較高,或者要求事務。
2. 表更新和查詢都相當的頻繁,並且表鎖定的機會比較大的情況。
當然這也不是絕對的。要試驗過才知道。
很多時候,效能瓶頸不是因為伺服器配置不好,而是因為sql不是很好。sql的效能優化是關鍵。
除了這些常見的優化方法,
還可以考慮 使用記憶體表。你測試一張myisam 和 記憶體表,會發現速度差不多。
其實,在併發比較強的時候,效能會相差大概五倍。我有張經常要查詢的ip 位址 和 地區的 對應表,放入記憶體後。
以前查詢 5000個 ip 位址大概 要 15s, 現在,只要 2s多。
很多東西,實際測試過才知道。用什麼壓力測試,測試出來的也不是很準確。
mysql 效能優化(二)
今天突然看到一年前寫的 mysql 優化 一 感覺有些誤人子弟。今天再補充一些東西。關於引擎選擇,從理論上 和 實際上 可能會有差距,所以,對待mysql 要有實驗精神。一般來說,myisam 適合 1.做很多count 的計算。2.插入不平凡,查詢非常頻繁。3.沒有事務 innordb 非常適合 ...
mysql效能優化 二
使用profiling可以檢視sql的占用cpu i o的使用情況,具體的使用方法為 1.set pfofiling 1 2.select 需要分析的sql 3.show profiles 之後就會出現對應的查詢序列的id,有對應的cpu占用的時間 會有狀態資訊,io.cpu等等資訊 簡要文字說明 ...
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...