自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫(kù)管理-不同數(shù)據(jù)庫(kù)存儲(chǔ)容量差那么多?

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
由于我們這里運(yùn)維的Oracle數(shù)據(jù)庫(kù)都開(kāi)了擴(kuò)展varchar2長(zhǎng)度,即一個(gè)varchar2最大可存儲(chǔ)字節(jié)不是4000,而是32k,這樣使得很多原本超長(zhǎng)需要使用lob數(shù)據(jù)類(lèi)型的列可以繼續(xù)使用varchar2,也使得很多寫(xiě)成varchar2(xx char)的地方不再有超長(zhǎng)風(fēng)險(xiǎn)。

最近客戶在和一些國(guó)產(chǎn)數(shù)據(jù)庫(kù)進(jìn)行試點(diǎn)測(cè)試,發(fā)現(xiàn)一個(gè)比較有趣的現(xiàn)象,即有些表數(shù)據(jù)在遷移前后,實(shí)際在磁盤(pán)中的存儲(chǔ)容量出現(xiàn)了2-3倍的增長(zhǎng),這點(diǎn)歸根結(jié)底得數(shù)據(jù)庫(kù)的研發(fā)來(lái)回答為什么會(huì)出現(xiàn)這一現(xiàn)象,但是我們今天也嘗試從一些蛛絲馬跡來(lái)推理一下。

1 數(shù)據(jù)類(lèi)型

由于我們這里運(yùn)維的Oracle數(shù)據(jù)庫(kù)都開(kāi)了擴(kuò)展varchar2長(zhǎng)度,即一個(gè)varchar2最大可存儲(chǔ)字節(jié)不是4000,而是32k,這樣使得很多原本超長(zhǎng)需要使用lob數(shù)據(jù)類(lèi)型的列可以繼續(xù)使用varchar2,也使得很多寫(xiě)成varchar2(xx char)的地方不再有超長(zhǎng)風(fēng)險(xiǎn)。
那么在很多其他數(shù)據(jù)庫(kù),使用varchar數(shù)據(jù)類(lèi)型(具體請(qǐng)查看各數(shù)據(jù)庫(kù)官方文檔)是滿足不了我這里實(shí)際數(shù)據(jù)的存儲(chǔ)需求的。那么在遷移過(guò)后就需要變換字段的數(shù)據(jù)類(lèi)型,在本次案例中,就出現(xiàn)了不少varchar轉(zhuǎn)換為text的操作。那么以MySQL為例對(duì)比一下varchar和text:

  • varchar:一種可變長(zhǎng)度的字符串?dāng)?shù)據(jù)類(lèi)型,用于存儲(chǔ)可變長(zhǎng)度的字符數(shù)據(jù)。它的定義包括存儲(chǔ)支持的最大長(zhǎng)度,表示該列可以存儲(chǔ)的最大字節(jié)長(zhǎng)度。存儲(chǔ)方式與其長(zhǎng)度有關(guān)。當(dāng)存儲(chǔ)varchar值時(shí),MySQL會(huì)根據(jù)實(shí)際的數(shù)據(jù)長(zhǎng)度分配足夠的存儲(chǔ)空間。
  • text:一種用于存儲(chǔ)大量文本數(shù)據(jù)的數(shù)據(jù)類(lèi)型。它可以存儲(chǔ)非常長(zhǎng)的字符串,最大長(zhǎng)度取決于數(shù)據(jù)庫(kù)的配置。總是占用足夠的存儲(chǔ)空間以容納其最大長(zhǎng)度。無(wú)論實(shí)際存儲(chǔ)的文本數(shù)據(jù)有多長(zhǎng),都會(huì)占用足夠的存儲(chǔ)空間。

那么從兩種數(shù)據(jù)類(lèi)型的對(duì)比來(lái)看,就可以知道使用text存儲(chǔ)字段占用的存儲(chǔ)空間肯定是大于varchar的。那么我們可以把這個(gè)當(dāng)做第一個(gè)可能的原因。

2 索引

這個(gè)問(wèn)題我也在群里問(wèn)過(guò)各位大佬,一位大佬說(shuō)了一句,他在使用一款和Oracle兼容性非常高的數(shù)據(jù)庫(kù)產(chǎn)品時(shí)候發(fā)現(xiàn),這個(gè)數(shù)據(jù)庫(kù)索引的存儲(chǔ)空間占用是大于Oracle數(shù)據(jù)庫(kù)中的索引。索引這個(gè)事情除了與上一節(jié)說(shuō)的數(shù)據(jù)類(lèi)型有關(guān),還與本身索引結(jié)構(gòu)的構(gòu)建有關(guān)系。這里可以當(dāng)做第二個(gè)可能的原因。

3 存儲(chǔ)引擎

其實(shí)結(jié)合上一點(diǎn),不同的數(shù)據(jù)庫(kù)有不同的存儲(chǔ)引擎,那么在數(shù)據(jù)塊的構(gòu)建上就可能千差萬(wàn)別,這個(gè)不僅僅體現(xiàn)在索引的存儲(chǔ)上,也體現(xiàn)在數(shù)據(jù)本身的存儲(chǔ)上。那么有些存儲(chǔ)引擎或者說(shuō)叫數(shù)據(jù)存儲(chǔ)的樹(shù)形結(jié)構(gòu)從理論層面是可以節(jié)省存儲(chǔ)空間的,而有些確實(shí)會(huì)占用更多空間。這里當(dāng)作第三個(gè)可能的原因。

總結(jié)

這里并沒(méi)有說(shuō)具體數(shù)據(jù)庫(kù)之間的存儲(chǔ)差異,說(shuō)真的也不大敢得罪任意一家數(shù)據(jù)庫(kù),我也希望大家在做國(guó)產(chǎn)數(shù)據(jù)庫(kù)選型、測(cè)試的時(shí)候可以考慮的更全面一點(diǎn)。還可能有哪些原因也希望大家留言、私信補(bǔ)充。
老規(guī)矩,不知道寫(xiě)了些啥。

責(zé)任編輯:武曉燕 來(lái)源: 胖頭魚(yú)的魚(yú)缸
相關(guān)推薦

2018-03-27 08:46:01

數(shù)據(jù)庫(kù)NoSQLredis

2017-09-03 15:41:31

數(shù)據(jù)庫(kù)存儲(chǔ)分布式

2022-08-10 14:03:01

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)

2022-09-16 11:33:24

數(shù)據(jù)庫(kù)關(guān)系

2010-06-30 16:48:19

SQL Server數(shù)

2015-08-20 13:52:53

數(shù)據(jù)中心儲(chǔ)容量機(jī)械硬盤(pán)

2011-02-25 17:47:44

數(shù)據(jù)庫(kù)存儲(chǔ)編寫(xiě)

2009-07-02 15:09:05

數(shù)據(jù)庫(kù)自動(dòng)存儲(chǔ)管理ASM

2011-03-04 12:46:57

Oracle數(shù)據(jù)庫(kù)自動(dòng)存儲(chǔ)管理(ASM)

2017-05-25 10:23:13

數(shù)據(jù)a表b表

2023-01-18 08:25:23

數(shù)據(jù)庫(kù)存儲(chǔ)類(lèi)型

2011-03-01 11:21:11

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎

2024-06-03 08:29:20

2018-05-14 10:56:36

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)

2011-03-02 12:57:08

MySQL存儲(chǔ)引擎分支現(xiàn)狀

2017-07-04 08:28:47

存儲(chǔ)容量操作

2010-07-30 09:30:14

DB2數(shù)據(jù)庫(kù)

2010-05-14 17:44:47

MySQL數(shù)據(jù)庫(kù)

2011-03-28 08:47:46

海量數(shù)據(jù)庫(kù)管理中韓數(shù)據(jù)庫(kù)專(zhuān)家
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)