MySQL InnoDB支持幾種行格式

數據庫表的行格式決定了一行數據是如何進行物理存儲的,進而影響查詢和DML操作的性能。

在InnoDB中,常見的行格式有4種:

? 1、COMPACT:是MySQL 5.0之前的默認格式,除了保存字段值外,還會利用空值列表保存null值,還會記錄長字段長度列表的記錄頭信息。

? COMPACT適合處理大量包含可變長度列(如:VARCHAR、VARCHARY、BLOB和TEXT類型)的數據。

? 對于可變長度列,前768字節的數據存儲在B樹節點的索引記錄中,超出部分索引在溢出頁中。大于或等于768字節的固定長度列會被編碼為可變長度列,并可以存儲在頁外。

? 2、REDUNDANT:Redundant是MySQL 5.0版本之前的行記錄存儲方式,用的比較少,Redundant行格式會把該記錄中所有列(包括隱藏列)的長度信息都存儲到“字段長度偏移列表“中。

? 3、DYNAMIC:DYNAMIC格式在MySQL 5.7版本引入,是COMPACT格式的改進版。他保持了COMPACT格式的優點,同時在存儲大的可變長度列時更加靈活,能夠動態地選擇存儲在頁內或頁外。DYNAMIC格式適用于大部份的應用場景,并在存儲空間和性能上做了一定的平衡,其結果和COMPACT大致相同。

? 4、COMPRESSED:是MySQL 5.1中InnoDB的新特性之一,它可以在存儲數據時對數據進行壓縮,從而減少磁盤占用空間。它的缺點是增加了CPU的使用,可能會降低一些查詢的性能。COMPRERSSED行格式是在DYNAMIC行格式的基礎上添加了頁外壓縮功能。在存儲時,如果發現數據可以通過壓縮減小存儲空間,就會使用壓縮方式來存儲數據,在查詢時,會自動解壓縮數據并返回結果。

行格式緊湊的存儲特性增強的可變長度列存儲大索引健前綴支持壓縮支持支持的表空間類型所需文件格式
REDUNDANTsystem,file-per-table,generalAntelope or Barracuda
COMPACTsystem,file-per-table,generalAntelope or Barracuda
DYNAMICsystem,file-per-table,generalBarracuda
COMPRESSEDfile-per-table,generalBarracuda

參考:Hollis

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37680.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速傅里葉變換(Fast Fourier Transform,FFT)

快速傅里葉變換(Fast Fourier Transform,FFT)是一種算法,用于快速計算離散傅里葉變換(DFT)及其逆變換。傅里葉變換將時間或空間域的信號轉換為頻率域的信號,便于分析信號的頻率特性。FFT顯著提高…

動手學深度學習(Pytorch版)代碼實踐 -卷積神經網絡-20填充與步幅

20填充與步幅 import torch from torch import nn# 此函數初始化卷積層權重,并對輸入和輸出提高和縮減相應的維數 def comp_conv2d(conv2d, X):# 這里的(1,1)表示批量大小和通道數都是1#將輸入張量 X 的形狀調整為 (1, 1, height,…

Grafana-11.0.0 在線部署教程

Grafana-11.0.0 在線部署教程 環境: 操作系統: ubuntugrafana版本: 11.0.0 (建議不要按照最新版)grafana要求的系統配置不高,建議直接部署在監控服務器上,比如zabbix服務器、prometheus服務器…

從菌群代謝到健康影響——認識腸道丙酸和丁酸

谷禾健康 短鏈脂肪酸這一詞經常出現在谷禾的文章和報告中,那你真的了解短鏈脂肪酸嗎?短鏈脂肪酸(SCFA)主要是腸道微生物群在結腸內通過發酵碳水化合物(包括膳食和內源性碳水化合物,主要是抗性淀粉和膳食纖維)和一些微生物可利用的蛋白質而產生…

光線追蹤:原理與實現

版權聲明 本文為“優夢創客”原創文章,您可以自由轉載,但必須加入完整的版權聲明文章內容不得刪減、修改、演繹本文視頻版本:見文末 各位同學大家好,今天我要給大家分享的是光線追蹤的原理和實現大家知道在過往很多年里面&#x…

超簡單的nodejs使用log4js保存日志到本地(可直接復制使用)

引入依賴 npm install log4js 新建配置文件logUtil.js const log4js require(log4js);// 日志配置 log4js.configure({appenders: {// 控制臺輸出consoleAppender: { type: console },// 文件輸出fileAppender: {type: dateFile,filename: ./logs/default, //日志文件的存…

如何從0構建一款類似pytest的工具

Pytest主要模塊 Pytest 是一個強大且靈活的測試框架,它通過一系列步驟來發現和運行測試。其核心工作原理包括以下幾個方面:測試發現:Pytest 會遍歷指定目錄下的所有文件,找到以 test_ 開頭或 _test.py 結尾的文件,并且…

python 實例002 - 數據轉換

題目: 有一組用例數據如下: cases [[case_id, case_title, url, data, excepted],[1, 用例1, www.baudi.com, 001, ok],[4, 用例4, www.baudi.com, 002, ok],[2, 用例2, www.baudi.com, 002, ok],[3, 用例3, www.baudi.com, 002, ok],[5, 用例5, www.ba…

MS-Net: A Multi-Path Sparse Model for Motion Prediction in Multi-Scenes

MS-Net: A Multi-Path Sparse Model for Motion Prediction in Multi-Scenes 基本信息 期刊:IEEE ROBOTICS AND AUTOMATION LETTERS (IF 4.6 SCI3區)單位:同濟大學,上海人工智能實驗室時間:2023年12月數據…

架構師必知的絕活-JVM調優

前言 為什么要學JVM? 首先:面試需要 了解JVM能幫助回答面試中的復雜問題。面試中涉及到的JVM相關問題層出不窮,難道每次面試都靠背幾百上千條面試八股? 其次:基礎知識決定上層建筑 自己寫的代碼都不知道是怎么回事&a…

精準圖像識別:算法與應用的雙重突破

精準圖像識別在近年來取得了算法與應用的雙重突破,這些突破不僅推動了技術的發展,也極大地拓寬了圖像識別的應用領域。以下是對這些突破的詳細概述: 算法突破 深度學習技術的崛起:深度學習,特別是卷積神經網絡&#…

C++中的虛函數表結構框架

一.虛函數表介紹 Virtual Table虛函數表是實現多態的 每個有虛函數的類的實現,都有個指向虛函數的指針表(不管是父類還是子類) 指向虛表的指針是作為數據成員存在實例對象中 當調用虛函數時,就去查找對象的虛表中指向整頓派生類函…

golang template HTML動態模板解析實現

使用場景: 我們希望在模板里面動態解析指定的模板文件。 這個似乎使用go語言的模板嵌套 template 可以實現,不過模板嵌套聲明里面是不支持使用變量的, 如:{{template "模板文件名" .}} 這里的"模板文件名"不…

LeetCode 2710.移除字符串中的尾隨零:模擬

【LetMeFly】2710.移除字符串中的尾隨零:模擬 力扣題目鏈接:https://leetcode.cn/problems/remove-trailing-zeros-from-a-string/ 給你一個用字符串表示的正整數 num ,請你以字符串形式返回不含尾隨零的整數 num 。 示例 1: 輸…

Apache Kylin資源管理全指南:優化你的大數據架構

標題:Apache Kylin資源管理全指南:優化你的大數據架構 摘要 Apache Kylin是一個開源的分布式分析引擎,旨在為大規模數據集提供高性能的SQL查詢能力。在Kylin中進行有效的資源管理對于確保查詢性能和系統穩定性至關重要。本文將詳細介紹如何…

leetcode 133雙周賽 統計逆序對的數目「dp」「前綴和優化」

3193. 統計逆序對的數目 題目描述: 給定一個長度為n的二維數組 r e re re,其中 r e [ i ] [ i d i , c n t i ] re[i] [id_i, cnt_i] re[i][idi?,cnti?],求存在多少個全排列perm滿足對所有的 r e [ i ] re[i] re[i]都有 p e r m [ 0.. …

Bayes分類器設計

本篇文章是博主在人工智能等領域學習時,用于個人學習、研究或者欣賞使用,并基于博主對人工智能等領域的一些理解而記錄的學習摘錄和筆記,若有不當和侵權之處,指出后將會立即改正,還望諒解。文章分類在AI學習筆記&#…

東方博宜 OJ 1201-1300

目錄 1268:【基礎】高精度加法 1269:【基礎】高精度減法 1280:【基礎】求 2 的 n 次方 1281:【基礎】求 222222?222?2 1285:【基礎】計算 N 的階乘 1286:【基礎】高精度乘單精度 1287:【基礎】高精…

第一百三十三節 Java數據類型教程 - Java基本數據類型

Java數據類型教程 - Java基本數據類型 Java定義了八種基本類型的數據:byte,short,int,long,char,float,double和boolean。 基本類型通常被稱為簡單類型。 這些可以分為四組: Integers - 包括byte&#x…

求推薦幾款http可視化調試工具?

Postman 非常流行的API調試工具,適用于構建、測試和文檔化APIs。它支持各種HTTP方法,有強大的集合和環境管理功能,以及代碼生成能力。 BB-API 是一款旨在提升開發效率的工具,它專注于提供簡約、完全免費且功能強大的HTTP模擬請…