溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)中? 為什么需要拆分表

發(fā)布時(shí)間:2020-09-25 10:55:12 來(lái)源:億速云 閱讀:483 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下數(shù)據(jù)庫(kù)中 為什么需要拆分表,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

數(shù)據(jù)庫(kù)拆分表可分為水平拆分和垂直拆分,水平拆分是按照表中邏輯關(guān)系和相關(guān)條件把表拆分成多個(gè)分表;垂直拆分是按照不同表切分到不同數(shù)據(jù)庫(kù)中去。

隨著數(shù)據(jù)的不斷擴(kuò)大,有的數(shù)據(jù)表的規(guī)模會(huì)以幾何級(jí)增長(zhǎng),當(dāng)數(shù)據(jù)達(dá)到一定規(guī)模時(shí),數(shù)據(jù)的查詢,讀取性能就會(huì)變得緩慢,這時(shí)就需要拆分?jǐn)?shù)據(jù)表,接下來(lái)在文章中將為大家詳細(xì)介紹在數(shù)據(jù)庫(kù)中怎么拆分表,希望對(duì)大家有所幫助。

數(shù)據(jù)庫(kù)中? 為什么需要拆分表

為什么需要拆分表

當(dāng)一個(gè)表的數(shù)據(jù)量很大時(shí)就比較耗時(shí),這就需要對(duì)表進(jìn)行拆分,把大表拆分成多個(gè)子表,那么在更新或者查詢數(shù)據(jù)的時(shí)候,壓力會(huì)分散到不同的表上。由于分表之后每個(gè)表的數(shù)據(jù)較小,不管是查詢還是更新都極大的提高了速度,即使出現(xiàn)最壞的“鎖表”的情況,那其他表還是可以并行使用。

數(shù)據(jù)表的拆分

數(shù)據(jù)表拆分可以分為兩種形式,分別是水平切分和垂直切分

水平切分:根據(jù)表中數(shù)據(jù)的邏輯關(guān)系,將同一個(gè)表中的數(shù)據(jù)按照某種條件拆分到多臺(tái)數(shù)據(jù)庫(kù)(主機(jī))上面,這種切分稱之為數(shù)據(jù)的水平(橫向)切分。

垂直切分:按照不同的表來(lái)切分到不同的數(shù)據(jù)庫(kù)(主機(jī))之上,這種切可以稱之為數(shù)據(jù)的垂直(縱向)切分

水平拆分的方法

一般情況下使用“取模”的形式來(lái)將數(shù)據(jù)進(jìn)行表存儲(chǔ),如果用4張表就是id%4 結(jié)果會(huì)是0,1,2,3四種,user_0,user_1,user_2,user_3就夠了。需要注意的是在這個(gè)過(guò)程中需要新建一張臨時(shí)表,目的在于提供數(shù)據(jù)插入的自增id,得到自增id后再通過(guò)取模進(jìn)行分表插入

數(shù)據(jù)庫(kù)中? 為什么需要拆分表

垂直拆分的方法

把常用的字段放一個(gè)表,不常用的放一個(gè)表

把字段比較大的比如text的字段拆出來(lái)放一個(gè)表里面

使用的話是根據(jù)具體業(yè)務(wù)來(lái)拆,查詢時(shí)使用多表聯(lián)查,可以再配合redis存儲(chǔ)

數(shù)據(jù)庫(kù)中? 為什么需要拆分表

以上是數(shù)據(jù)庫(kù)中 為什么需要拆分表的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI