99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)庫單表行數(shù)最大多大?

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:數(shù)據(jù)分析與開發(fā) ? 2022-05-12 10:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

想必大家也聽說過數(shù)據(jù)庫單表建議最大2kw條數(shù)據(jù)這個說法。如果超過了,性能就會下降得比較厲害。

巧了。

我也聽說過。

但我不接受它的建議,硬是單表裝了1億條數(shù)據(jù)。

這時候,我們組里新來的實習(xí)生看到了之后,天真無邪的問我:"單表不是建議最大兩千萬嗎?為什么這個表都放了1個億還不分庫分表"?

我能說我是因為懶嗎?我當(dāng)初設(shè)計時哪里想到這表竟然能漲這么快。。。

我不能。

說了等于承認(rèn)自己是開發(fā)組里的毒瘤,雖然我確實是,但我不能承認(rèn)

我如坐針氈,如芒刺背,如鯁在喉。

開始了一波騷操作。

"我這么做是有道理的"

"雖然這個表很大,但你有沒有發(fā)現(xiàn)它查詢其實還是很快"

"這個2kw是個建議值,我們要來看下這個2kw是怎么來的"

數(shù)據(jù)庫單表行數(shù)最大多大?

我們先看下單表行數(shù)理論最大值是多少。

建表的SQL是這么寫的,

CREATETABLE`user`(
`id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主鍵',
`name`varchar(100)NOTNULLDEFAULT''COMMENT'名字',
`age`int(11)NOTNULLDEFAULT'0'COMMENT'年齡',
PRIMARYKEY(`id`),
KEY`idx_age`(`age`)
)ENGINE=InnoDBAUTO_INCREMENT=100037DEFAULTCHARSET=utf8;

其中id就是主鍵。主鍵本身唯一,也就是說主鍵的大小可以限制表的上限。

如果主鍵聲明為int大小,也就是32位,那么能支持2^32-1,也就是21個億左右。

如果是bigint,那就是2^64-1,但這個數(shù)字太大,一般還沒到這個限制之前,磁盤先受不了。

搞離譜點。

如果我把主鍵聲明為 tinyint,一個字節(jié),8位,最大2^8-1,也就是255。

CREATETABLE`user`(
`id`tinyint(2)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主鍵',
`name`varchar(100)NOTNULLDEFAULT''COMMENT'名字',
`age`int(11)NOTNULLDEFAULT'0'COMMENT'年齡',
PRIMARYKEY(`id`),
KEY`idx_age`(`age`)
)ENGINE=InnoDBAUTO_INCREMENT=0DEFAULTCHARSET=utf8;

如果我想插入一個id=256的數(shù)據(jù),那就會報錯。

mysql>INSERTINTO`tmp`(`id`,`name`,`age`)VALUES(256,'',60);
ERROR1264(22003):Outofrangevalueforcolumn'id'atrow1

也就是說,tinyint主鍵限制表內(nèi)最多255條數(shù)據(jù)。

那除了主鍵,還有哪些因素會影響行數(shù)?

索引的結(jié)構(gòu)

索引內(nèi)部是用的B+樹,這個也是八股文老股了,大家估計也背得很熟了。

為了不讓大家有過于強(qiáng)烈的審丑疲勞,今天我嘗試從另外一個角度給大家講講這玩意。

頁的結(jié)構(gòu)

假設(shè)我們有這么一張user數(shù)據(jù)表。

69c9d718-d0e1-11ec-bce3-dac502259ad0.pnguser表

其中id是唯一主鍵。

這看起來的一行行數(shù)據(jù),為了方便,我們后面就叫它們record吧。

這張表看起來就跟個excel表格一樣。excel的數(shù)據(jù)在硬盤上是一個xx.excel的文件。

而上面user表數(shù)據(jù),在硬盤上其實也是類似,放在了user.ibd文件下。含義是user表的innodb data文件,專業(yè)點,又叫表空間

雖然在數(shù)據(jù)表里,它們看起來是挨在一起的。但實際上在user.ibd里他們被分成很多小份的數(shù)據(jù)頁,每份大小16k。

類似于下面這樣。

6a02bbbe-d0e1-11ec-bce3-dac502259ad0.pngibd文件內(nèi)部有大量的頁

我們把視角聚焦一下,放到頁上面。

整個頁16k,不大,但record這么多,一頁肯定放不下,所以會分開放到很多頁里。并且這16k,也不可能全用來放record對吧。

因為record們被分成好多份,放到好多頁里了,為了唯一標(biāo)識具體是哪一頁,那就需要引入頁號(其實是一個表空間的地址偏移量)。同時為了把這些數(shù)據(jù)頁給關(guān)聯(lián)起來,于是引入了前后指針,用于指向前后的頁。這些都被加到了頁頭里。

頁是需要讀寫的,16k說小也不小,寫一半電源線被拔了也是有可能發(fā)生的,所以為了保證數(shù)據(jù)頁的正確性,還引入了校驗碼。這個被加到了頁尾

那剩下的空間,才是用來放我們的record的。而record如果行數(shù)特別多的話,進(jìn)入到頁內(nèi)時挨個遍歷,效率也不太行,所以為這些數(shù)據(jù)生成了一個頁目錄,具體實現(xiàn)細(xì)節(jié)不重要。只需要知道,它可以通過二分查找的方式將查找效率從O(n) 變成O(lgn)。

6a2fa7f0-d0e1-11ec-bce3-dac502259ad0.png頁結(jié)構(gòu)

從頁到索引

如果想查一條record,我們可以把表空間里每一頁都撈出來,再把里面的record撈出來挨個判斷是不是我們要找的。

行數(shù)量小的時候,這么操作也沒啥問題。

行數(shù)量大了,性能就慢了,于是為了加速搜索,我們可以在每個數(shù)據(jù)頁里選出主鍵id最小的record,而且只需要它們的主鍵id和所在頁的頁號。組成新的record,放入到一個新生成的一個數(shù)據(jù)頁中,這個新數(shù)據(jù)頁跟之前的頁結(jié)構(gòu)沒啥區(qū)別,而且大小還是16k。

但為了跟之前的數(shù)據(jù)頁進(jìn)行區(qū)分。數(shù)據(jù)頁里加入了頁層級(page level)的信息,從0開始往上算。于是頁與頁之間就有了上下層級的概念,就像下面這樣。

6a7efa58-d0e1-11ec-bce3-dac502259ad0.png兩層B+樹結(jié)構(gòu)

突然頁跟頁之間看起來就像是一棵倒過來的樹了。也就是我們常說的B+樹索引。

最下面那一層,page level 為0,也就是所謂的葉子結(jié)點,其余都叫非葉子結(jié)點。

上面展示的是兩層的樹,如果數(shù)據(jù)變多了,我們還可以再通過類似的方法,再往上構(gòu)建一層。就成了三層的樹。

6aa7c50a-d0e1-11ec-bce3-dac502259ad0.png

三層B+樹結(jié)構(gòu)

那現(xiàn)在我們就可以通過這樣一棵B+樹加速查詢。舉個例子。

比方說我們想要查找行數(shù)據(jù)5。會先從頂層頁的record們?nèi)胧帧?strong style="font-size:inherit;line-height:inherit;color:rgb(41,98,255);">record里包含了主鍵id和頁號(頁地址)??聪聢D黃色的箭頭,向左最小id是1,向右最小id是7。那id=5的數(shù)據(jù)如果存在,那必定在左邊箭頭。

于是順著的record的頁地址就到了6號數(shù)據(jù)頁里,再判斷id=5>4,所以肯定在右邊的數(shù)據(jù)頁里,于是加載105號數(shù)據(jù)頁。在數(shù)據(jù)頁里找到id=5的數(shù)據(jù)行,完成查詢。

6ae32226-d0e1-11ec-bce3-dac502259ad0.pngB+樹查詢過程

另外需要注意的是,上面的頁的頁號并不是連續(xù)的,它們在磁盤里也不一定是挨在一起的。

這個過程中查詢了三個頁,如果這三個頁都在磁盤中(沒有被提前加載到內(nèi)存中),那么最多需要經(jīng)歷三次磁盤IO查詢,它們才能被加載到內(nèi)存中。

B+樹承載的記錄數(shù)量

從上面的結(jié)構(gòu)里可以看出B+樹的最末級葉子結(jié)點里放了record數(shù)據(jù)。而非葉子結(jié)點里則放了用來加速查詢的索引數(shù)據(jù)。

也就是說

同樣一個16k的頁,非葉子節(jié)點里每一條數(shù)據(jù)都指向一個新的頁,而新的頁有兩種可能。

  • 如果是末級葉子節(jié)點的話,那么里面放的就是一行行record數(shù)據(jù)。

  • 如果是非葉子節(jié)點,那么就會循環(huán)繼續(xù)指向新的數(shù)據(jù)頁。

假設(shè)

  • 非葉子結(jié)點內(nèi)指向其他內(nèi)存頁的指針數(shù)量為x

  • 葉子節(jié)點內(nèi)能容納的record數(shù)量為y

  • B+樹的層數(shù)為z

6afee8f8-d0e1-11ec-bce3-dac502259ad0.png總行數(shù)的計算方法

那這棵B+樹放的行數(shù)據(jù)總量等于 (x ^ (z-1)) * y。

x怎么算

我們回去看數(shù)據(jù)頁的結(jié)構(gòu)。

6a2fa7f0-d0e1-11ec-bce3-dac502259ad0.png頁結(jié)構(gòu)

非葉子節(jié)點里主要放索引查詢相關(guān)的數(shù)據(jù),放的是主鍵和指向頁號。

主鍵假設(shè)是bigint(8Byte,而頁號在源碼里叫FIL_PAGE_OFFSET(4Byte),那么非葉子節(jié)點里的一條數(shù)據(jù)是12Byte左右。

整個數(shù)據(jù)頁16k, 頁頭頁尾那部分?jǐn)?shù)據(jù)全加起來大概128Byte,加上頁目錄毛估占1k吧。那剩下的15k除以12Byte,等于1280,也就是可以指向x=1280頁。

我們常說的二叉樹指的是一個結(jié)點可以發(fā)散出兩個新的結(jié)點。m叉樹一個節(jié)點能指向m個新的結(jié)點。這個指向新節(jié)點的操作就叫扇出(fanout)。

而上面的B+樹,它能指向1280個新的節(jié)點,恐怖如斯,可以說扇出非常高了。

y的計算

葉子節(jié)點和非葉子節(jié)點的數(shù)據(jù)結(jié)構(gòu)是一樣的,所以也假設(shè)剩下15kb可以發(fā)揮。

葉子節(jié)點里放的是真正的行數(shù)據(jù)。假設(shè)一條行數(shù)據(jù)1kb,所以一頁里能放y=15行。

行總數(shù)計算

回到 (x ^ (z-1)) * y 這個公式。

已知x=1280,y=15。

假設(shè)B+樹是兩層,那z=2。則是(1280 ^ (2-1)) * 15 ≈ 2w

假設(shè)B+樹是三層,那z=3。則是(1280 ^ (3-1)) * 15 ≈ 2.5kw

這個2.5kw,就是我們常說的單表建議最大行數(shù)2kw的由來。畢竟再加一層,數(shù)據(jù)就大得有點離譜了。三層數(shù)據(jù)頁對應(yīng)最多三次磁盤IO,也比較合理。

行數(shù)超一億就慢了嗎?

上面假設(shè)單行數(shù)據(jù)用了1kb,所以一個數(shù)據(jù)頁能放個15行數(shù)據(jù)。

如果我單行數(shù)據(jù)用不了這么多,比如只用了250byte。那么單個數(shù)據(jù)頁能放60行數(shù)據(jù)。

那同樣是三層B+樹,單表支持的行數(shù)就是 (1280 ^ (3-1)) * 60 ≈ 1個億。

你看我一個億的數(shù)據(jù),其實也就三層B+樹,在這個B+樹里要查到某行數(shù)據(jù),最多也是三次磁盤IO。所以并不慢。

這就很好的解釋了文章開頭,為什么我單表1個億,但查詢性能沒啥大毛病。

B樹承載的記錄數(shù)量

既然都聊到這里了,我們就順著這個話題多聊一些吧。

我們都知道,現(xiàn)在mysql的索引都是B+樹,而有一種樹,跟B+樹很像,叫B樹,也叫B-樹。

它跟B+樹最大的區(qū)別在于,B+樹只在末級葉子結(jié)點處放數(shù)據(jù)表行數(shù)據(jù),而B樹則會在葉子和非葉子結(jié)點上都放。

于是,B樹的結(jié)構(gòu)就類似這樣

6b5a4644-d0e1-11ec-bce3-dac502259ad0.pngB樹結(jié)構(gòu)

B樹將行數(shù)據(jù)都存在非葉子節(jié)點上,假設(shè)每個數(shù)據(jù)頁還是16kb,掐頭去尾每頁剩15kb,并且一條數(shù)據(jù)表行數(shù)據(jù)還是占1kb,就算不考慮各種頁指針的情況下,也只能放個15條數(shù)據(jù)。數(shù)據(jù)頁扇出明顯變少了。

計算可承載的總行數(shù)的公式也變成了一個等比數(shù)列。

15+15^2+15^3+...+15^z

其中z還是層數(shù)的意思。

為了能放2kw左右的數(shù)據(jù),需要z>=6。也就是樹需要有6層,查一次要訪問6個頁。假設(shè)這6個頁并不連續(xù),為了查詢其中一條數(shù)據(jù),最壞情況需要進(jìn)行6次磁盤IO

而B+樹同樣情況下放2kw數(shù)據(jù)左右,查一次最多是3次磁盤IO。

磁盤IO越多則越慢,這兩者在性能上差距略大。

為此,B+樹比B樹更適合成為mysql的索引。

總結(jié)

  • B+樹葉子和非葉子結(jié)點的數(shù)據(jù)頁都是16k,且數(shù)據(jù)結(jié)構(gòu)一致,區(qū)別在于葉子節(jié)點放的是真實的行數(shù)據(jù),而非葉子結(jié)點放的是主鍵和下一個頁的地址。

  • B+樹一般有兩到三層,由于其高扇出,三層就能支持2kw以上的數(shù)據(jù),且一次查詢最多1~3次磁盤IO,性能也還行。

  • 存儲同樣量級的數(shù)據(jù),B樹比B+樹層級更高,因此磁盤IO也更多,所以B+樹更適合成為mysql索引。

  • 索引結(jié)構(gòu)不會影響單表最大行數(shù),2kw也只是推薦值,超過了這個值可能會導(dǎo)致B+樹層級更高,影響查詢性能。

  • 單表最大值還受主鍵大小和磁盤大小限制。

參考資料

《MYSQL內(nèi)核:INNODB存儲引擎 卷1》

最后

雖然我在單表里塞了1億條數(shù)據(jù),但這個操作的前提是,我很清楚這不會太影響性能。

這波解釋,毫無破綻,無懈可擊。

到這里,連我自己都被自己說服了。想必實習(xí)生也是。

可惡,這該死的毒瘤竟然有些"知識淵博"。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45181
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3929

    瀏覽量

    66293

原文標(biāo)題:為什么大家說 mysql 數(shù)據(jù)庫單表最大兩千萬?依據(jù)是啥?

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺操作系統(tǒng)為Windows Server的虛擬機(jī)上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障: 工作人員在MongoDB服務(wù)仍
    的頭像 發(fā)表于 07-01 11:13 ?161次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?148次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>被加密如何恢復(fù)<b class='flag-5'>數(shù)據(jù)</b>?

    SQLSERVER數(shù)據(jù)庫是什么

    支持在Linux和容器化環(huán)境中運(yùn)行。 核心特點 關(guān)系型數(shù)據(jù)庫 基于SQL(結(jié)構(gòu)化查詢語言)進(jìn)行數(shù)據(jù)操作,支持、行、列等結(jié)構(gòu)化存儲。 提供ACID(原子性、一致性、隔離性、持久性)事務(wù)支持,確保
    的頭像 發(fā)表于 05-26 09:19 ?460次閱讀

    MySQL數(shù)據(jù)庫是什么

    MySQL數(shù)據(jù)庫是一種 開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)存儲、管理和操作,廣泛應(yīng)用于Web
    的頭像 發(fā)表于 05-23 09:18 ?459次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫附加數(shù)據(jù)庫過程中比較常見的報錯是“錯誤 823”,附加數(shù)據(jù)庫失敗。 如果數(shù)據(jù)庫有備份則只需還原備份即可。但是如果沒有備份,備份時間太久,或者其他原因?qū)е聜浞?/div>
    的頭像 發(fā)表于 02-28 11:38 ?491次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server附加<b class='flag-5'>數(shù)據(jù)庫</b>提示“錯誤 823”的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)庫誤刪除表記錄的數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,安裝的windows server操作系統(tǒng)。 操作系統(tǒng)上部署MySQL實例,引擎類型為innodb,空間類型為獨立空間。該MySQL數(shù)據(jù)庫沒有備份,未開啟binlo
    的頭像 發(fā)表于 02-22 09:44 ?706次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——MySQL<b class='flag-5'>數(shù)據(jù)庫</b>誤刪除表記錄的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    MySQL數(shù)據(jù)庫的安裝

    MySQL數(shù)據(jù)庫的安裝 【一】各種數(shù)據(jù)庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?570次閱讀
    MySQL<b class='flag-5'>數(shù)據(jù)庫</b>的安裝

    數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?

    數(shù)據(jù)庫是一種部署在虛擬計算環(huán)境中的數(shù)據(jù)庫,它融合了云計算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫主要分為兩大類:關(guān)系型數(shù)據(jù)庫
    的頭像 發(fā)表于 01-07 10:22 ?517次閱讀

    如何使用cmp進(jìn)行數(shù)據(jù)庫管理的技巧

    使用 cmp 命令進(jìn)行數(shù)據(jù)庫管理可能不是最直觀的方法,因為 cmp 通常用于比較兩個文件是否相同。然而,如果你的意圖是使用 cmp 來檢查數(shù)據(jù)庫文件或備份文件的一致性,以下是一些技巧和步驟,可以幫助
    的頭像 發(fā)表于 12-17 09:31 ?642次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、Mysql數(shù)據(jù)庫中無任何
    的頭像 發(fā)表于 12-16 11:05 ?622次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Mysql<b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進(jìn)行查詢等操作;2、使用mysqlcheck和myisamchk無法修復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 12-09 11:05 ?638次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

    一個運(yùn)行在存儲上的SQLServer數(shù)據(jù)庫,有1000多個文件,大小幾十TB。數(shù)據(jù)庫每10天生成一個NDF文件,每個NDF幾百GB大小。數(shù)據(jù)庫包含兩個LDF文件。 存儲損壞,數(shù)據(jù)庫
    的頭像 發(fā)表于 10-31 13:21 ?708次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 09-20 11:46 ?709次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    軟件系統(tǒng)數(shù)據(jù)庫的分庫分設(shè)計

    軟件系統(tǒng)數(shù)據(jù)庫的分庫分設(shè)計 系統(tǒng)讀寫分離、分庫分技術(shù)實現(xiàn)采用MyCat中間件,MyCat 是一款開源(遵循 Apache License 2.0 協(xié)議)的大數(shù)據(jù)庫集群中間件,用于搭
    的頭像 發(fā)表于 08-22 11:39 ?592次閱讀
    軟件系統(tǒng)<b class='flag-5'>數(shù)據(jù)庫</b>的分庫分<b class='flag-5'>表</b>設(shè)計

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫底層File Record被截斷為0的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫數(shù)據(jù)無法被讀取。 經(jīng)過數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工程師的初步檢測,發(fā)現(xiàn)SQL Server數(shù)據(jù)庫文件無法被讀取的原因是底層
    的頭像 發(fā)表于 07-26 11:27 ?763次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b>底層File Record被截斷為0的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例