最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表

 更新時間:2021年03月22日 23:29:56   作者:strawqqhat  
這篇文章主要介紹了數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表,需要的朋友可以參考下

數(shù)據(jù)量在什么情況下需要分表?

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

1、oracle

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

2、mysql

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

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

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

具體情況根據(jù)數(shù)據(jù)庫服務(wù)器的配置和架構(gòu)有關(guān),僅供參考

3、sqlserver

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

1、表的大小超過2GB。
2、表中包含歷史數(shù)據(jù),新的數(shù)據(jù)被增加都新的分區(qū)中。

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

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

1、什么是分庫分表?

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

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

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

3、分庫分表的方式

(1)垂直切分

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

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

(2)水平切分

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

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

4、如何聯(lián)合查找?

分庫分表的結(jié)果會使數(shù)據(jù)分散,不好查詢,主要有兩種查詢方式:

(1)、分步查:先查找主表,然后得到關(guān)聯(lián)表的id,再發(fā)起請求得到關(guān)聯(lián)數(shù)據(jù);

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

到此這篇關(guān)于數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表的文章就介紹到這了,更多相關(guān)數(shù)據(jù)庫分庫分表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis分頁插件的實例詳解

    Mybatis分頁插件的實例詳解

    這篇文章主要介紹了Mybatis分頁插件的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • dapper使用Insert或update時部分字段不映射到數(shù)據(jù)庫

    dapper使用Insert或update時部分字段不映射到數(shù)據(jù)庫

    我們在使用dapper的insert或update方法時可能會遇見一些實體中存在的字段但是,數(shù)據(jù)庫中不存在的字段,這樣在使用insert時就是拋出異常提示字段不存在,這個時候該怎么解決呢,下面給大家分享示例實體代碼,感興趣的朋友一起看看吧
    2023-12-12
  • Navicat?Premium自定義?sql?標簽的創(chuàng)建方式

    Navicat?Premium自定義?sql?標簽的創(chuàng)建方式

    Navicat 中可以自定義一下sql語句的標簽,方便開發(fā)者使用,這篇文章主要介紹了Navicat?Premium自定義sql標簽的創(chuàng)建方式,包括自定義標簽創(chuàng)建方式,結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Python使用RethinkDB總結(jié)

    Python使用RethinkDB總結(jié)

    最近一個項目要用到文檔數(shù)據(jù)庫,順便關(guān)注了一下 NoSQL 方面的消息。當前幾個比較流行的文檔數(shù)據(jù)庫引擎有 MongoDB, CouchDB, OrientDB 等,朋友推薦的是 MongoDB 和 RethinkDB
    2014-03-03
  • 使用alwayson后如何收縮數(shù)據(jù)庫日志的方法詳解

    使用alwayson后如何收縮數(shù)據(jù)庫日志的方法詳解

    這篇文章主要介紹了使用alwayson后如何收縮數(shù)據(jù)庫日志,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SQL中游標(cursor)的基本使用實例

    SQL中游標(cursor)的基本使用實例

    當你檢索的數(shù)據(jù)只是一條記錄時,你所編寫的事務(wù)語句代碼往往使用SELECT INSERT語句,但如果從某一結(jié)果集中逐一地讀取一條記錄呢?游標為我們提供了一種極為優(yōu)秀的解決方案,這篇文章主要給大家介紹了關(guān)于SQL中游標(cursor)基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • SQL語句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語句的優(yōu)化

    SQL語句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語句的優(yōu)化

    在數(shù)據(jù)庫的應(yīng)用中,我們經(jīng)常需要對數(shù)據(jù)庫進行多表查詢,然而當數(shù)據(jù)量非常大時多表查詢會對執(zhí)行效率產(chǎn)生非常大的影響,因此我們在使用JOIN和LEFT JOIN 和 RIGHT JOIN語句時要特別注意
    2018-03-03
  • 數(shù)據(jù)庫中刪除語句Drop、Delete、Truncate的相同點和不同點的比較(實例說明)

    數(shù)據(jù)庫中刪除語句Drop、Delete、Truncate的相同點和不同點的比較(實例說明)

    數(shù)據(jù)庫中刪除語句Drop、Delete、Truncate的相同點和不同點的比較,通過舉例說明讓大家了解
    2012-09-09
  • SQLite不支持Right Join的解決辦法GROUP BY

    SQLite不支持Right Join的解決辦法GROUP BY

    sqlite真的不錯,就是不支持right join,所以我們用下面的方法解決
    2008-06-06
  • 如何查看Navicat加密的數(shù)據(jù)庫密碼

    如何查看Navicat加密的數(shù)據(jù)庫密碼

    本機裝的MySQL數(shù)據(jù)庫密碼忘記了,打開了Navicat連接過數(shù)據(jù)庫,不過密碼是加密的,怎么辦呢?今天小編給大家分享如何查看Navicat加密的數(shù)據(jù)庫密碼,感興趣的朋友一起看看吧
    2023-04-04

最新評論

宝应县| 阿坝| 水城县| 高安市| 孝感市| 成都市| 邹平县| 宜宾市| 安龙县| 固始县| 乌兰浩特市| 塔城市| 石泉县| 临邑县| 镇原县| 高安市| 郎溪县| 登封市| 花莲县| 宣城市| 富民县| 崇州市| 岗巴县| 凤城市| 阿拉善左旗| 内黄县| 资阳市| 三原县| 和田县| 若羌县| 墨脱县| 平阳县| 江山市| 商南县| 玉山县| 如东县| 玉门市| 兰州市| 肇东市| 朝阳区| 商河县|