mysql的常用最佳化知識

來源:互聯網
上載者:User

標籤:

 

索引類型:主鍵索引,唯一索引,聯合索引,普通索引,全文索引

1.  一個列上建立索引後,如果是以like查詢,百分比符號在左邊則利用不上索引。好比  select a from t where bb like ‘%hehe‘;這種情況,bb有索引也用不上。。

2.  如果利用or關鍵字的話,左右兩邊有一個欄位沒索引就利用不上。好比  select a from t where b=1 or c=2;這種情況,如果b或c有一個沒建立索引,就用不上索引。

3.  group by 的時候預設會有個排序,排序很費效能,如果不必要的話,可以加上一句  order by null。這樣好些。順便order by 經常排序的欄位加個索引也好多。

 (用不用上索引,可以通過explai sql進行查看。)

4.  一個欄位的資料類型,能滿足業務要求的情況下,越小越好。。比如ENUM的使用比varchar好多。

5.  在財務系統或者金錢上,小數儲存使用decimal,最好都這麼用。。

6.  如果業務上自己知道要查出一條就ok的話,最好sql上加一句limit 1

 

 

MyISAM儲存引擎下,索引 是 .MYI檔案。。資料存在.MYD檔案。。.frm是表結構檔案。

MyISAM 和 Innodb的區別  詳細可以參考:http://www.oschina.net/question/17_4248

MyISAM 刪除delete的時候不會真正移除資料庫檔案,需要執行optimize table才會清掉片段。。表級鎖。

Innodb 中存在表的資料會在外頭有個檔案ibdata1 裡,不在.MYD檔案裡。不像是MyISAM。支援事務。支援外鍵。一般行級鎖。

 

mysql的常用最佳化知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.