MySQL 大資料最佳化

來源:互聯網
上載者:User

標籤:

大資料量的系統的資料庫結構如何設計:

1、把你表中經常查詢的和不常用的分開幾個表,也就是橫向切分

2、把不同類型的分成幾個表,縱向切分  

3、常用聯結的建索引 

4、伺服器放幾個硬碟,把資料、日誌、索引分盤存放,這樣可以提高IO吞吐率  

5、用最佳化器,最佳化你的查詢  

6、考慮冗餘,這樣可以減少串連   

7、可以考慮建立統計表,就是即時產生總計表,這樣可以避免每次查詢都統計一次  

8、用極量資料測試一下

MySql 最佳化:

對 mysql 最佳化是一個綜合性的技術,主要包括:

1、表的設計合理性(符合 3NF)

2、添加適當索引(index)【四種:普通索引、主鍵索引、唯一索引 unique、全文索引】

3、分表技術(水平分割、垂直分割)

4、讀寫【update、delete、add】分離

5、儲存過程【模組化編程,可以提高速度】

6、對 mysql 配置最佳化【配置最大並發數 my.ini,調整緩衝大小】

7、mysql 伺服器硬體升級

8、週期性去清除不需要的資料,定時進行磁碟重組(MyISAM)

 

為什麼欄位儘可能用NOT NULL,而不是NULL?

在MySQL中,含有空值的列很難進行查詢最佳化,因為它們使得索引、索引的統計資訊以及比較運算更加複雜。你應該用0、一個特殊的值或者一個空串代替空值

欄位儘可能用NOT NULL,而不是NULL,除非特殊情況。NULL為什麼經常被誤用?

1、NULL是建立資料表時預設的,初級或不知情的或怕麻煩的程式員不會注意這點。

2、很多人員都以為not null 需要更多空間,其實這不是重點。

3、重點是很多程式員覺得NULL在開發不用去判斷插入資料,寫sql語句的時候更方便快捷。

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.