<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      分區(qū)


      分區(qū)就是把一個(gè)數(shù)據(jù)表的文件和索引分散存儲在不同的物理文件中。把一張表的數(shù)據(jù)分成N多個(gè)區(qū)塊,這些區(qū)塊可以在同一個(gè)磁盤上,也可以在不同的磁盤上,數(shù)據(jù)庫不同實(shí)現(xiàn)方式有所不同。


      與分表不同,一張大表進(jìn)行分區(qū)后,他還是一張表,不會變成二張表,但是他存放數(shù)據(jù)的區(qū)塊變多了。分區(qū)的概念,我覺得就想突破磁盤I/O瓶頸,想提高磁盤的讀寫能力,來增加數(shù)據(jù)庫的性能。

      分區(qū)實(shí)現(xiàn)是比較簡單的,建立分區(qū)表,根建平常的表沒什么區(qū)別,并且對開發(fā)代碼端來說是透明。

      postgresql10以上的自動分區(qū)分表功能:

      1、首先創(chuàng)建主分區(qū)表:
      create table fenbiao( id int, year varchar ) partition by list(year)
      這里設(shè)置的是根據(jù)year列進(jìn)行數(shù)據(jù)分表;創(chuàng)建后使用navicat是看不到的;

      2.創(chuàng)建分表:
      create table fenbiao_2017 partition of fenbiao for values in ('2017'); create
      table fenbiao_2018 partition of fenbiao for values in ('2018');
      這樣這兩天數(shù)據(jù)會依靠規(guī)則插入到不同分表中,如果插入一條不符合規(guī)則的數(shù)據(jù),則會報(bào)錯(cuò)誤:no partition of relation "fenbiao"
      found for row.

      分表

      分表從表面意思上看呢,就是把一張表分成N多個(gè)小表,每一個(gè)小表都是完正的一張表。分表后數(shù)據(jù)都是存放在分表里,總表只是一個(gè)外殼,存取數(shù)據(jù)發(fā)生在一個(gè)一個(gè)的分表里面。

      分表后單表的并發(fā)能力提高了,磁盤I/O性能也提高了。并發(fā)能力為什么提高了呢,因?yàn)椴閷ひ淮嗡ǖ臅r(shí)間變短了,如果出現(xiàn)高并發(fā)的話,總表可以根據(jù)不同
      的查詢,將并發(fā)壓力分到不同的小表里面。

      分庫分表

      分庫分表把原本存儲于一個(gè)庫的數(shù)據(jù)分塊存儲到多個(gè)庫上,把原本存儲于一個(gè)表的數(shù)據(jù)分塊存儲到多個(gè)表上。


      數(shù)據(jù)庫中的數(shù)據(jù)量不一定是可控的,在未進(jìn)行分庫分表的情況下,隨著時(shí)間和業(yè)務(wù)的發(fā)展,庫中的表會越來越多,表中的數(shù)據(jù)量也會越來越大,相應(yīng)地,數(shù)據(jù)操作,增刪改查的開銷也會越來越大;另外,一臺服務(wù)器的資源(CPU、磁盤、內(nèi)存、IO等)是有限的,最終數(shù)據(jù)庫所能承載的數(shù)據(jù)量、數(shù)據(jù)處理能力都將遭遇瓶頸。

      FreeSql.Repository 之分表

      FreeSql 提供 AsTable 分表的基礎(chǔ)方法,GuidRepository 作為分存式倉儲將實(shí)現(xiàn)了分表與分庫(不支持跨服務(wù)器分庫)的封裝。
      var logRepository = fsql.GetGuidRepository<Log>(null, oldname =>
      $"{oldname}_201903");
      上面我們得到一個(gè)日志倉儲按年月分表,使用它 CURD 最終會操作 Log_201903 表。

      注意事項(xiàng):

      * 不能使用 CodeFirst 遷移分表,開發(fā)環(huán)境時(shí)仍然可以遷移 Log 表;
      * 不可在分表分庫的實(shí)體類型中使用《延時(shí)加載》;
      跨表查詢
      var sql = fsql.Select<User>() .AsTable((type, oldname) => "table_1")
      .AsTable((type, oldname) => "table_2") .AsTable((type, oldname) => "table_3")
      .ToSql(a => a.Id);
      得到SQL:
      select * from (SELECT a."Id" as1 FROM "table_1" a) ftb UNION ALL select * from
      (SELECT a."Id" as1 FROM "table_2" a) ftb UNION ALL select * from (SELECT a."Id"
      as1 FROM "table_3" a) ftb
      多表查詢:
      var sql = fsql.Select<User>().LeftJoin<UserGroup>((a,b) => a.UserGroupId ==
      b.Id) .AsTable((type, oldname) => oldname + "_1") .AsTable((type, oldname) =>
      oldname + "_2") .AsTable((type, oldname) => oldname + "_3") .ToSql(a => a.Id);
      期待更多發(fā)散。。。

      巧用AsTable
      var sql = fsql.Select<User>() .AsTable((a, b) => "(select * from tb_topic
      where clicks > 10)") .Page(1, 10).ToList()
      系列文章導(dǎo)航

      *
      (一)入門 <https://www.cnblogs.com/FreeSql/p/11531300.html>

      *
      (二)自動遷移實(shí)體 <https://www.cnblogs.com/FreeSql/p/11531301.html>

      *
      (三)實(shí)體特性 <https://www.cnblogs.com/FreeSql/p/11531302.html>

      *
      (四)實(shí)體特性 Fluent Api <https://www.cnblogs.com/FreeSql/p/11531304.html>

      *
      (五)插入數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531306.html>

      *
      (六)批量插入數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531309.html>

      *
      (七)插入數(shù)據(jù)時(shí)忽略列 <https://www.cnblogs.com/FreeSql/p/11531316.html>

      *
      (八)插入數(shù)據(jù)時(shí)指定列 <https://www.cnblogs.com/FreeSql/p/11531318.html>

      *
      (九)刪除數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531320.html>

      *
      (十)更新數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531321.html>

      *
      (十一)更新數(shù)據(jù) Where <https://www.cnblogs.com/FreeSql/p/11531324.html>

      *
      (十二)更新數(shù)據(jù)時(shí)指定列 <https://www.cnblogs.com/FreeSql/p/11531327.html>

      *
      (十三)更新數(shù)據(jù)時(shí)忽略列 <https://www.cnblogs.com/FreeSql/p/11531334.html>

      *
      (十四)批量更新數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531335.html>

      *
      (十五)查詢數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531339.html>

      *
      (十六)分頁查詢 <https://www.cnblogs.com/FreeSql/p/11531341.html>

      *
      (十七)聯(lián)表查詢 <https://www.cnblogs.com/FreeSql/p/11531346.html>

      *
      (十八)導(dǎo)航屬性 <https://www.cnblogs.com/FreeSql/p/11531352.html>

      *
      (十九)多表查詢 <https://www.cnblogs.com/FreeSql/p/11531362.html>

      *
      (二十)多表查詢 WhereCascade <https://www.cnblogs.com/FreeSql/p/11531372.html>

      *
      (二十一)查詢返回?cái)?shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531376.html>

      *
      (二十二)Dto 映射查詢 <https://www.cnblogs.com/FreeSql/p/11531381.html>

      *
      (二十三)分組、聚合 <https://www.cnblogs.com/FreeSql/p/11531384.html>

      *
      (二十四)Linq To Sql 語法使用介紹 <https://www.cnblogs.com/FreeSql/p/11531392.html>

      *
      (二十五)延時(shí)加載 <https://www.cnblogs.com/FreeSql/p/11531395.html>

      *
      (二十六)貪婪加載 Include、IncludeMany、Dto、ToList
      <https://www.cnblogs.com/FreeSql/p/11531404.html>

      *
      (二十七)將已寫好的 SQL 語句,與實(shí)體類映射進(jìn)行二次查詢
      <https://www.cnblogs.com/FreeSql/p/11531416.html>

      *
      (二十八)事務(wù) <https://www.cnblogs.com/FreeSql/p/11531423.html>

      *
      (二十九)Lambda 表達(dá)式 <https://www.cnblogs.com/FreeSql/p/11531425.html>

      *
      (三十)讀寫分離 <https://www.cnblogs.com/FreeSql/p/11531430.html>

      *
      (三十一)分區(qū)分表

      *
      (三十二)Aop <https://www.cnblogs.com/FreeSql/p/11531471.html>

      *
      (三十三)CodeFirst 類型映射 <https://www.cnblogs.com/FreeSql/p/11531543.html>

      *
      (三十四)CodeFirst 遷移說明 <https://www.cnblogs.com/FreeSql/p/11531550.html>

      *
      (三十五)CodeFirst 自定義特性 <https://www.cnblogs.com/FreeSql/p/11531576.html>

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          成人性生活电影两区 三区 四区 五区 | 成人片色情免费观看视频 | 久久一性爱 | 少妇bbwbbwbbw高潮 | 自拍偷拍国产 | 久久中文网 | 我看操逼片 | 操逼网站草美女骚逼 | 少妇又紧又色又爽视频 | 中国老女人的操逼视频 |