欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

MySQL的物理存儲(chǔ)結(jié)構(gòu)和session生命周期-創(chuàng)新互聯(lián)

  1.  MySQL的物理存儲(chǔ)結(jié)構(gòu)

    專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)垣曲免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

     (1).數(shù)據(jù)的組織形式--索引

     (2).數(shù)據(jù)的row存儲(chǔ)

compact

變長字段的存儲(chǔ):

可變長度列在評(píng)估字段大小時(shí)還要考慮存儲(chǔ)列實(shí)際長度的字節(jié)數(shù)。例如,VARCHAR(255)CHARACTER SET UTF8列需要額外的兩個(gè)字節(jié)來存儲(chǔ)值長度信息,所以該列需要多達(dá)767個(gè)字節(jié)存儲(chǔ),其實(shí)大可以存儲(chǔ)65533字節(jié),剩余兩個(gè)字節(jié)存儲(chǔ)長度信息。

行溢出的處理:

數(shù)據(jù)表Row_format是Compact, innodb默認(rèn)的approach存儲(chǔ)格式會(huì)把每個(gè)blob字段的前864個(gè)字節(jié)存儲(chǔ)在page里,所以blob超過一定數(shù)量的話,單行大小就會(huì)超過8k ,所以就報(bào)錯(cuò)了。通過對(duì)比業(yè)務(wù)寫成功和失敗的SQL也應(yīng)征了這個(gè)推論,那么現(xiàn)在要怎么解決這個(gè)問題?

  • 業(yè)務(wù)拆分表,大字段進(jìn)行分表存儲(chǔ)
  • 通過解決Row_format的存儲(chǔ)方式解決問題

    由于業(yè)務(wù)單表的存儲(chǔ)條數(shù)并不大,而且業(yè)務(wù)邏輯不適合拆分,所以我們要在Row_format上來解決這個(gè)問題。

如果blob列值長度 <= 768 bytes,不會(huì)發(fā)生行溢出(page overflow),內(nèi)容都在數(shù)據(jù)頁(B-tree Node);如果列值長度 > 768字節(jié),那么前768字節(jié)依然在數(shù)據(jù)頁,而剩余的則放在溢出頁(off-page)

MySQL的物理存儲(chǔ)結(jié)構(gòu)和session生命周期

所以,此種格式的唯一值索引長度不能超過767


Barracuda

Barracuda文件格式下?lián)碛袃煞N新的行記錄格式Compressed和Dynamic兩種,新的兩種格式對(duì)于存放BLOB的數(shù)據(jù)采用了完全的行溢出的方式,在數(shù)據(jù)頁中只存放20個(gè)字節(jié)的指針,實(shí)際的數(shù)據(jù)都存放在BLOB Page中。Compressed行記錄格式的另一個(gè)功能就是存儲(chǔ)在其中的數(shù)據(jù)會(huì)以zlib的算法進(jìn)行壓縮。

dynamic行格式,列存儲(chǔ)是否放到off-page頁,主要取決于行大小,它會(huì)把行中最長的那一列放到off-page,直到數(shù)據(jù)頁能存放下兩行。TEXT/BLOB列 <=40 bytes 時(shí)總是存放于數(shù)據(jù)頁。可以避免compact那樣把太多的大列值放到 B-tree Node,因?yàn)閐ynamic格式認(rèn)為,只要大列值有部分?jǐn)?shù)據(jù)放在off-page,那把整個(gè)值放入都放入off-page更有效。

MySQL的物理存儲(chǔ)結(jié)構(gòu)和session生命周期

變長列

在InnoDB中,變長列( variable-length column )可能是以下幾種情況

  1. 長度不固定 的數(shù)據(jù)類型,例如 VARCHAR VARBINARY BLOB TEXT
  2. 對(duì)于 長度固定 的數(shù)據(jù)類型,如 CHAR ,如果 實(shí)際存儲(chǔ) 占用的空間 大于768Byte ,InnoDB會(huì)將其視為變長列
  3. 變長編碼 下的 CHAR


NULL值標(biāo)識(shí)位

指示了該行數(shù)據(jù)列中是否有NULL值,這個(gè)字段的長度和表的列數(shù)有關(guān),每一列對(duì)應(yīng)一個(gè)bit位

     2. session的執(zhí)行過程

     

名稱欄目:MySQL的物理存儲(chǔ)結(jié)構(gòu)和session生命周期-創(chuàng)新互聯(lián)
路徑分享:http://chinadenli.net/article36/shhsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)網(wǎng)站收錄響應(yīng)式網(wǎng)站Google微信公眾號(hào)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管