MySQL優化總結(二)

2021-10-01 17:50:05 字數 332 閱讀 2826

varchar型別用於儲存可變長字串,是最常見的字串資料型別。使用varchar(5)和varchar(200)儲存 『hello』所消耗的空間是一樣的,那應該怎麼選擇呢?答案是,選擇更短的列。

更長的列會消耗更多的記憶體,因為mysql通常會分配固定大小的記憶體塊來儲存內部值,尤其是使用記憶體臨時表進行排序或操作時會特別糟糕,在利用磁碟臨時表進行排序時也同樣糟糕,所以最好的策略是只分配真正需要的空間。

為標識列選擇資料型別時,一旦選定了一種型別,要確保在所有關聯表中都使用同樣的型別。包括像unsigned這樣的屬性,混用不同的型別可能導致效能問題,即使沒有效能影響,在比較操作時隱式型別轉換也可能導致很難發現的錯誤。

Mysql 優化學習總結二 單錶優化

1.單錶優化 欄位 盡量使用 tinyint,smallint,medium int 代替int,如果非負數則加上unsigned。varchar的長度只分配真正需要的空間。使用列舉或整數代替字串型別。使用列舉或整數代替字串型別。盡量使用timestamp而非datetime。單錶不要有太多字段,建...

mysql優化總結

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

mysql優化總結

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