1、表設計過程中應該注意的點即資料型別
1)更小的通常更好
控制位元組長度
2)使用合適的資料型別
如tinyint只佔8個位,char(1024)與varchar(1024)的對比,char用於類似定長資料儲存比varchar節省空間,如:uuid(32),可以用char(32).
3)盡量避免null建議使用not null default ''
null的列會讓索引統計和值比較都更複雜。可為null的列會佔據更多的磁碟空間,在mysql中也需要更多複雜的處理程式
2、索引設計過程中應該注意的點
1)選擇唯一性索引
唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄,保證物理上面唯一
2)為經常需要排序、分組和聯合操作的字段建立索引
經常需要order by、group by、distinct和union等操作的字段,排序操作會浪費很多時間
3)常作為查詢條件的字段建立索引
如果某個字段經常用來做查詢條件,那麼該字段的查詢速度會影響整個表的查詢速度
4)資料少的地方不必建立索引
3、sql優化,explain檢視執行計畫(注意:掃瞄行數會影響cpu執行,占用大量記憶體)
1) 能夠用between的就不要用in
2) 能夠用distinct的就不用group by
3) 避免資料型別強轉
4) 學會採用explain檢視執行計畫
mysql資料庫優化索引 mysql資料庫索引調優
一 mysql索引 1 磁碟檔案結構 innodb引擎 frm格式檔案儲存表結構,ibd格式檔案儲存索引和資料。myisam引擎 frm格式檔案儲存表結構,myi格式檔案儲存索引,myd格式檔案儲存資料 2 mysql資料庫資料範問原理 innodb btree 1 ibd檔案中主鍵構建b tree...
mysql資料庫優先 MySQL資料庫優化
1.新增索引 mysql資料庫的四類索引 index 普通索引,資料可以重複,沒有任何限制。unique 唯一索引,要求索引列的值必須唯一,但允許有空值 如果是組合索引,那麼列值的組合必須唯一。primary key 主鍵索引,是一種特殊的唯一索引,乙個表只能有乙個主鍵,不允許有空值,一般是在建立表...
mysql資料庫優化
用到啥學啥,mysql資料庫優化成了這幾天的老大難問題。瘋狂的尋找mysql優化的資料,覺得有用的不少,記錄下跟大家分享,對了,這裡僅僅是mysql資料庫本身的優化,沒有寫磁碟之類的 開始之前,介紹倆mysql的命令 show global status 檢視執行狀態的,顯示執行各種狀態值 show...