中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫中在什么情況下需要用分庫分表

發布時間:2021-03-23 10:49:40 來源:億速云 閱讀:300 作者:小新 欄目:開發技術

這篇文章主要介紹數據庫中在什么情況下需要用分庫分表,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

數據量在什么情況下需要分表?

為了保證數據庫的查詢效率,當數據達成一定量時建議進行分表操作

1、oracle

當oracle單表的數據量大于2000萬行時,建議進行水平分拆。

2、mysql

當mysql單表的數據量大于1000萬行時,建議進行水平分拆。

單表容量到了1000W以上基本上稍微復雜一點的SQL都需要仔細優化,這時候的SQL耗時主要集中在磁盤IO上,數據命令緩存的概率降低,總之不好搞,如果是正常的互聯網項目,提前分庫分表,在前期能做的先做了,后面會省很多時間處理數據遷移的事情,數據操作比較頻繁,比如訂單表,可能涉及到的插入和更新操作特別頻繁,特別是大并發的時候,這時如果只用一個庫,對磁盤的IO和mysql的性能都是一種考驗,所以要分庫分表,把操作頻繁的表和基本信息表分開處理,減小單個數據庫的壓力,同時也不影響其他基本信息的讀寫

如果只有一臺服務器,當select很多時,update和delete會被這些select訪問中的數據堵塞,等待select結束,并發性能不高,此時就要選擇讀寫分離了,主 庫 負 責 寫 , 從 庫 負 責 讀 \color{#FF0000}{主庫負責寫,從庫負責讀}主庫負責寫,從庫負責讀

具體情況根據數據庫服務器的配置和架構有關,僅供參考

3、sqlserver

sqlserver一般如下條件就可以選擇分區分表操作了

1、表的大小超過2GB。
2、表中包含歷史數據,新的數據被增加都新的分區中。

當一個數據表的數據量達到千萬級別以后,每次查詢都需要消耗大量的時間,所以當表數據量達到一定量級后我們需要對數據表水平切割。水平分區分表就是把邏輯上的一個表,在物理上按照你指定的規則分放到不同的文件里,把一個大的數據文件拆分為多個小文件,還可以把這些小文件放在不同的磁盤下。這樣把一個大的文件拆分成多個小文件,便于我們對數據的管理。 

分庫分表是什么,什么情況下需要用分庫分表

1、什么是分庫分表?

顧名思義,即把存于一個庫的數據分散到多個庫中,把存于一個表的數據分散到多個表中。

2、什么情況下需要分庫分表?

當一個數據庫被創建之后,隨著時間的推移和業務量的增加,數據庫中表以及表中的數據量就會越來越多,就有可能出現兩種弊端:(1)數據庫的存儲資源是有限的,其負載能力也是有限的,數據的大量積累肯定會導致其處理數據的能力下降;(2)數據量越多,那么對數據的增刪改查操作的開銷也會越來越大,所以,當出現如上兩種情況,分庫分表勢在必行。

3、分庫分表的方式

(1)垂直切分

適用場景:如果是因為表的個數多而讓數據多,可以按照功能劃分,把聯系密切的表切分出來放在同一個庫中(分庫);

如果表的字段太多,可以以列為出發點,將字段進行拆分(分表);

(2)水平切分

適用場景:如果是因為表中的數據量過于龐大,則可以采用水平切分,按照某種約定好的規則將數據切分到不同的數據庫中;

必須要根據當前數據庫的情況做出合適的選擇,也可以將兩種情況結合在一起。

4、如何聯合查找?

分庫分表的結果會使數據分散,不好查詢,主要有兩種查詢方式:

(1)、分步查:先查找主表,然后得到關聯表的id,再發起請求得到關聯數據;

(2)、聯合查:同時發起多個查詢請求,然后將所有的結果集合起來。 

以上是“數據庫中在什么情況下需要用分庫分表”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛扎县| 扶风县| 娱乐| 高州市| 汉中市| 昆明市| 昭苏县| 佛学| 新安县| 山阴县| 清流县| 裕民县| 南康市| 九龙坡区| 甘南县| 武隆县| 绥江县| 七台河市| 增城市| 华坪县| 黄陵县| 安国市| 伊金霍洛旗| 洮南市| 施甸县| 湛江市| 阳谷县| 铁力市| 荃湾区| 中卫市| 钦州市| 宁化县| 图木舒克市| 乐平市| 云和县| 竹北市| 彭泽县| 于田县| 清丰县| 彩票| 仪征市|