日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在日常的開發工作中,除了JAVA相關的技術,打交道最多的就是MySQL數據庫,當數據積累到一定程度,比如500W時就會難免出現一些慢sql,對數據庫的優化方式有很多,比如通過增加合理的索引,今天我們來說下其中的垂直分表。

垂直分表:顧名思義就是將一張表縱向拆分成多張表,通過拆分后每行的字段數減少了,空間占用變小,當檢索表數據時,一次IO就能從磁盤獲取更多的數據到內存中,減少了IO次數,降低了響應時間。

拆分的一些原則:

  1. 可以根據業務進行拆分,比如原表中有些是一些輔助信息字段,此時可以把輔助信息拆分到另一張表中,并增加與數據的關聯,比如增加元數據的主鍵等。
  2. 將核心字段或者經常訪問的字段放到一張表中,讓表更加原子,清晰,但是以合理為基礎,也可以冗余字段,也不要過度拆分。

舉個例子:將我們的訂單表拆分成訂單表和訂單擴展信息表,如下

order表

面試題-Mysql數據庫優化之垂直分表

 

t_order_contact表

面試題-Mysql數據庫優化之垂直分表

 

訂單中的聯系人信息是訂單的擴展信息,而且不常訪問,拆分后原訂單表輕量了,更加原子化,效率也提升了。當我們需要同時獲取訂單與訂單擴展信息時,不建議join方式,應分別查詢然后通過程序去處理。

 

分享到:
標簽:數據庫 Mysql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定