數據庫怎么拆分表?

數據庫拆分表的方法:1、水平拆分,按照表中邏輯關系和相關條件把表拆分成多個分表;2、垂直拆分,按照不同的表來拆分到不同的數據庫之上。

數據庫怎么拆分表?

隨著數據的不斷擴大,有的數據表的規模會以幾何級增長,當數據達到一定規模時,數據的查詢,讀取性能就會變得緩慢,這時就需要拆分數據表,接下來在文章中將為大家詳細介紹在數據庫中怎么拆分表,希望對大家有所幫助。

數據庫怎么拆分表?

【推薦課程:mysql教程】??

為什么需要拆分表

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

數據表的拆分

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

水平拆分:根據表中數據的邏輯關系,將同一個表中的數據按照某種條件拆分到多臺數據庫(主機)上面,這種切分稱之為數據的水平(橫向)切分。

垂直拆分:按照不同的表來拆分到不同的數據庫(主機)之上,這種拆可以稱之為數據的垂直(縱向)拆分

水平拆分的方法

一般情況下使用“取模”的形式來將數據進行表存儲,如果用4張表就是id%4 結果會是0,1,2,3四種,user_0,user_1,user_2,user_3就夠了。需要注意的是在這個過程中需要新建一張臨時表,目的在于提供數據插入的自增id,得到自增id后再通過取模進行分表插入

數據庫怎么拆分表?

垂直拆分的方法

把常用的字段放一個表,不常用的放一個表

把字段比較大的比如text的字段拆出來放一個表里面

使用的話是根據具體業務來拆,查詢時使用多表聯查,可以再配合redis存儲

數據庫怎么拆分表?

總結:

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享