mysql 表的存儲類型_MySQL數據表存儲引擎類型及特性

數據表類型(存儲引擎)

常見引擎比對 特點 Myisam InnoDB Memory BDB Archive 存儲限制 無窮制 64TB 有 沒有 沒有 事務安然 - 支撐 - 支撐 - 鎖機制 表鎖 行鎖 表鎖 頁鎖 行鎖 B樹索引 支撐 支撐 支撐 支撐 - 哈希索引 - 支撐 支撐 - - 全文索引 支撐 - - - - 集群索引 - 支撐 - - - 數據緩存 - 支撐 支撐 - - 索引緩存 支撐 支撐 支撐 - - 數據緊縮 支撐 - - - 支撐 空間應用 低 高 N/A 低 異常低 內存應用 低 高 中 低 低 批量插入速度 高 低 高 高 異常高 外鍵支撐 - 支撐 - - -

各引擎特點Myisam

mysql默認存儲引擎,在磁盤上存儲成三個文件.frm(存儲表定義).MYD(MYData存儲數據)。MYI(MYIndex存儲索引);

沒有事務支撐,不支撐行鎖外鍵,是以當insert、update會鎖定全部表,效力會低一些,MyIASM中存儲了行數,如不雅表的讀操作弘遠年夜于寫且不須要事務,MyISAM優選。

索引

5f77b327ea0dc3b394453b443f7b3db4.png-wh_651x-s_15924457.png

1.MyISAM引擎索引構造為B+Tree,個中B+Tree的數據域存儲的為實際數據地址即索引和實際數據分開即非集合索引。

2.如圖主鍵索引和幫助索引構造一向只不過主鍵索引請求key獨一。

供給了對數據庫ACID事務支撐場實現SQL標準的四種隔離級別,供給行級鎖和外鍵束縛。Mysql運行時Innodb會在內存中建立緩沖池用于緩沖數據和索引,該引擎不支撐fulltext類型索引且沒有保存表的行數,select count(*) from table 血藥掃全表。

須要事務操作時Innodb首選,鎖力度小,寫操作不會鎖定權標,所以并發高時Innodb引擎效力更高,

比擬Myisam寫處理效力差一些會占用更多的磁盤空間保存數據和索引。

索引

e5942d68f9c51287d200354e622e15c7.png

3.MyISAM中索引檢索算法起首安裝B+Tree搜刮算法搜刮索引,如不雅key存在,則掏出data域的值,然后以data域的值為地址,攫取響應數據記錄。Innodb

1.Innodb索引采取B+Tree且Innodb索引文件本身就是數據文件即B+Tree的數據域存儲的就是實際的數據如圖Primary Key即集合索引。這個索引的key就是數據表主鍵,Innodb表本身就是主索引。

2.Innodb幫助索引數據域存儲的是響應的主鍵的值而不是地址,經由過程幫助索引查找時先找到主鍵再經由過程主鍵查找數據。所以主鍵不建議過長不然幫助索引會變得很大年夜。

3.Innodb必須有主鍵如不雅沒有顯示指定Mysql會主動選擇一個獨一標識的數據記錄為主鍵。

4.集合索引按主鍵搜刮效力十分高效,幫助索引必須檢索兩遍。

5.基于Innodb索引構造可以解釋為什么不建議應用過長的主鍵,為什么不建議應用非單調(非遞增)的記錄做主鍵,B+Tree索引構造導致應用非單調做主鍵會相當低效。

常用敕令show engines; 查看當前支撐的引擎和默認引擎

show table status from mytest; show create table tablename;查看數據表引擎

修改默認引擎 my.ini [mysqld]下增長 default-storage-engine=InnoDB

名詞概念ACID: (Atomicity)原子性,要么全部履行要么不履行;(Consistency)一致性,事務的運行不改變數據庫中數據的一致性;(Isolation)自力性,也稱隔離性兩個以上的食物不會出現交錯履行的狀況;(Durability)持久性,事務履行成功后數據持久保存。

BTree 二叉搜刮樹

1.所有非葉子幾點最多有兩個子節點(left right)

2.所有節點存儲一個關鍵字

3.非葉子節點左指針指向小于其關鍵字的子樹,右指針指向大年夜于其關鍵字的子樹

推薦閱讀

5G被業界視為概綾屈性的無線技巧,但作為下一代標準基本之一的高頻譜請求運營商采取與以進步然不合的方法來構>>>詳細閱讀

地址:http://www.17bianji.com/lsqh/37307.html

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

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

相關文章

78.Subsets

Given a set of distinct integers, nums, return all possible subsets. Note: The solution set must not contain duplicate subsets. For example,If nums [1,2,3], a solution is: [[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[] ]昨天中秋加上頭非常痛,歇了一天…

python xyz_python中xyz坐標的歐幾里德距離

使用生成器表達式的簡單解決方案From PEP 289 Generator ExpressionsRationaleExperience with list comprehensions has shown their widespread utilitythroughout Python. However, many of the use cases do not need to have a full list created in memory. Instead, the…

[轉載]SYSCALL_DEFINE宏定義

來源:http://blog.csdn.net/p_panyuch/article/details/5648007 SYSCALL_DEFINE3 在何處定義? #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) #define SYSCALL_DEFINEx(x, sname, ...) / _…

java連接數據庫sql server_將SQL Server數據庫連接到Java

我的項目沒有使用任何IDE。整個編碼使用Textpad完成。所以我需要幫助連接sql server數據庫和我的項目。這是bean類,其中編寫了用于數據庫連接的業務邏輯。我已經安裝了SQL服務器并使用Windows身份驗證創建了一個名為“vt”的數據庫。我甚至為數據庫創建了dsn&#x…

ORM中的Model與DDD中的DomainModel

0.引言 在現有的系統開發中,大部分的系統應該都會用到ORM,無論用的是EF還是NHibernate。作為對象和持久化數據的橋梁,ORM確實非常方便,以至于在DDD的時候,我們很自然的將 ORM中的Model(實體)表達成DDD中的 DomainModel…

基礎總結

Unsafe Java線程池 HashCode 垃圾收集 關于引用(弱引用、強引用等等)轉載于:https://www.cnblogs.com/aquariusm/p/6340303.html

jsp java語法_JSP基礎語法

Java JSP 的 JSP基礎語法在本章中,我們將了解和學習JSP語法。并了解JSP開發涉及的簡單語法(即元素)的基本用法。為了方便演示,使用Eclipse創建一個動態Web項目:jspsyntax,用于運行以下涉及到的示例代碼。JSP的元素JSP的元素如下所…

iOS - Core Animation 核心動畫

1、UIView 動畫 具體講解見 iOS - UIView 動畫2、UIImageView 動畫 具體講解見 iOS - UIImageView 動畫3、CADisplayLink 定時器 具體講解見 iOS - OC NSTimer 定時器CADisplayLink 是一個能讓我們以和屏幕刷新率相同的頻率將內容畫到屏幕上的定時器。我們在應用中創建一個新的…

navicat 官方使用手冊,中文版,快捷鍵大全

2017年1月23日09:52:51 這個官方中文文檔很詳細 https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html https://community.navicat.com/videos/cn 官方中文論壇部分視頻教程 快捷鍵 Navicat 主窗口 鍵動作CTRLG設置位置文件夾CTRL#(#…

Linux inode與文件系統關系

inode只有在linux文件系統的概念(ext3,ext4) 、inode節點數量與文件存儲的關系。 二、在文件系統初始化時設置合適的節點數量。 linux服務器在存儲文件小而數量多的情況下,需要考慮inode用完的情況。轉載于:https://www.cnblogs.com/lirunzhou/p/5883706…

評分系統 java_C自動評分系統

我無法按照規范完成作業 . 這是分配方案:大學迫切需要一個自動測試評分系統 . 使用C,為大學寫一個評分系統,并對至少五名學生的測試進行評分 . 要創建評分系統,請按照以下步驟操作:首先詢問測試中的問題數量然后詢問每…

當Terraform遇上ECS(一)——DataSource篇

背景 越來越多的公司已經熟知并運用“基礎設施即代碼”來構建和維護自己的云基礎設施。目前也有許多的自動化構建工具協助用戶通過腳本進行云資源的部署和生命周期的管理,如:Terraform、Ansible、Chef等。但是,在實施過程中,都遇到…

【BZOJ 1597】 [Usaco2008 Mar]土地購買 (斜率優化)

1597: [Usaco2008 Mar]土地購買 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3601 Solved: 1322Description 農夫John準備擴大他的農場,他正在考慮N (1 < N < 50,000) 塊長方形的土地. 每塊土地的長寬滿足(1 < 寬 < 1,000,000; 1 < 長 < 1,000,000). …

深入淺出學java_《深入淺出學JAVA開發初級》

整體說明&#xff1a;Java私塾的這一套視頻是完全真實課堂錄制&#xff0c;實際上課時間為十一天&#xff0c;主要內容包括&#xff1a;1&#xff1a;系統完整的學習Java的基礎知識2&#xff1a;深入剖析重點知識點的理論3&#xff1a;超多的編程題目和程序講解4&#xff1a;最…

重定位與鏈接腳本

1.為什么需要重定位   位置無關編碼(PIC&#xff0c;position independent code)&#xff1a;匯編源文件被編碼成二進制可執行程序時編碼方式與位置&#xff08;內存地址&#xff09;無關。  位置有關編碼&#xff1a;匯編源碼編碼成二進制可執行程序后和內存地址是有關的。…

Linux bashrc和profile的用途和區別

導讀使用終端ssh登錄Linux操作系統的控制臺后&#xff0c;會出現一個提示符號&#xff08;例如&#xff1a;#或~&#xff09;&#xff0c;在這個提示符號之后可以輸入命令&#xff0c;Linux根據輸入的命令會做回應&#xff0c;這一連串的動作是由一個所謂的Shell來做處理。Shel…

python讀取word文檔結構圖_Word 有什么技巧,讓你相見恨晚?

Word作為日常辦公最常用的軟件之一&#xff0c;其實真沒你想得那么簡單&#xff01;你不知道的每一個技巧&#xff0c;都會讓你相見恨晚&#xff01;每當身邊的小伙伴詢問這些疑難雜癥時&#xff0c;我都會拋出這張圖…真的沒騙你&#xff0c;我們遇到的 99% 的Word難題&#x…

Golang 特性簡介

by sheepbao 主要大概介紹go語言的歷史和特性&#xff0c;簡單的入門。 來歷 很久以前&#xff0c;有一個IT公司&#xff0c;這公司有個傳統&#xff0c;允許員工擁有20%自由時間來開發實驗性項目。在2007的某一天&#xff0c;公司的幾個大牛&#xff0c;正在用c開發一些比較繁…

HTML實體字符轉化為HTML標簽

html_entity_decode方法 參數描述string必需。規定要解碼的字符串。flags 可選。規定如何處理引號以及使用哪種文檔類型。 可用的引號類型&#xff1a; ENT_COMPAT - 默認。僅解碼雙引號。ENT_QUOTES - 解碼雙引號和單引號。ENT_NOQUOTES - 不解碼任何引號。規定所使用文檔類型…