如何進行mysql的最佳化

來源:互聯網
上載者:User

標籤:mysql 最佳化

1,這個比較簡單:在phpmyadmin中有提供


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/43/6B/wKiom1PaXc3AwjhsAAH4kuIwJcU151.jpg" title="1.jpg" alt="wKiom1PaXc3AwjhsAAH4kuIwJcU151.jpg" />


2.先設計表的時候考慮選擇什麼樣的儲存引擎,myisam不支援事務,但查詢速度快,不過現在一般採用的都是InnoDB,能符合95%的項目需求。具體的你可以看看兩者的區別。


3.要避免全表查詢的操作,這個網上有資料。

    

4.在where和order by的欄位上面建索引,當然索引不是多就好,會使insert和update速度變慢


5,盡量不要採用null值,因為這樣搜尋引擎會花費大量的時間在這裡,而且儲存上也有區別,建議採用not null。


6.varchar 和char的選擇。可以節省不少空間。


7.欄位儘可能短,起的有意義的名字,符合命名規範。


8.避免在where 條件中來使用 <> 或 !=,因為這樣會造成全表掃描的。


9,進行分區分表


10.建視圖來代替程式中的複雜查詢。


11.設定緩衝


12.like效率較低,盡量採用不同的sql查詢


13. 在where後面的欄位中盡量不要採用運算和使用mysql中的函數,例如LOWER()等。


14.between 和in,前者更好


15,寫sql語句的時候,思考是否要返回那麼多的資料,limit可以進行限制


16,刪除表使用truncate不要用delete,因為delete會一行一行的刪除。


17.如果一些sql語句都是相同的只是變數不相同,可以進行sql語句合并,採用預先處理,可以節省編譯的時間。


18.資料庫連接池的使用


19,採用叢集


20,不用的資源馬上釋放


21.拆分大的 DELETE 或INSERT 語句,批量提交SQL語句


22.usleep避免伺服器宕機


23,select在從伺服器上面進行,修改資料的操作在主伺服器上


如果還有其他的,後面待補充。

本文出自 “小剛部落格” 部落格,謝絕轉載!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.