對mysql儲存效能最佳化的基本理解

來源:互聯網
上載者:User

這幾天瞭解了下關於mysql資料庫的性最佳化和設計方面的內容,現在做一下自己學習的小結,後續我會繼續深入學習,完善下總結:

1、使用索引
每張表最多可以做16個索引,支援多列索引和全文索引
建立索引:create index index_name on users(username);
查看索引:show index from users;
是一把雙刃劍,建不建立索引,主要看錶的功能,找好一個平衡點,。


2、使用explain分析查詢
在查詢在用explain 
explain  select *from users;


3、調整mysql內部配置


(1)、改變索引緩衝長度(key_buffer);
推薦設定整個系統記憶體的25%。


(2)、改變表長(read_buffer_size)
當資料庫對某個表進行頻繁的掃描的時候,mysql會分配一段記憶體緩衝區,如果覺得掃描進行的太慢,可以適當將該值大小。


(3)、設定開啟表的數目的大小(table_cache)
該變數控制mysql在任何時候開啟表的最大數目,由此來控制伺服器響應輸入請求的能力。他跟max_connections


(4)、對緩查詢設定一個時間限制(long_query_time)
ySQL帶有“慢查詢日誌”,它會自動地記錄所有的在一個特定的時間範圍內尚未結束的查詢。這個日誌對於跟蹤那些低效率或者行為不端的查詢以及尋找最佳化對象都非常有用。long_query_time變數控制這一最大時間限定,以秒為單位。也可設定為ms,但是需要打補丁。

至於安全方面的考慮,比如測試資料庫和線上分離、備份、主從等,這些後續再談,時間緊迫,先寫這麼多,待續...

相關文章

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.