InnoDB引擎與MyIASM的一點總結

InnoDB引擎:

提供了對數據庫ACID事務的支持,并且實現了SQL標準的四種隔離級別

提供了行級鎖和外鍵約束。

它的設計的目標是處理大容量數據庫系統,用于緩沖數據和索引。

不支持FULLTEXT類型的數據,沒有保存表的行數,當select count*from table ?時需要掃描全表。

使用數據庫事務時,該引擎是首選。

由于鎖的粒度更小,寫操作不會鎖定全表,所以在并發較高時,使用InnoDB效率會提升。

行級鎖也不是絕對的, 如果只在執行一個SQL語句時不能確定要掃描的范圍,InnoDB同樣會鎖定全表。

?

MyIASM引擎:

沒有提供對數據庫事務的支持,也不支持行級鎖和外鍵

因此在insert update時需要鎖定全表,效率會降低。

存儲了表的行數,當select count(*) from table 時只需要直接讀取已經保存好的值而不用掃描全表。

如果讀操作遠遠多于寫操作且不需要數據庫事務的支持,那么MyIASM也是很好的選擇。

兩種引擎的比較:

大尺寸的數據集趨向于選擇InnoDB引擎,因為它支持事務處理和故障恢復。數據庫大小決定了故障恢復的時間長短。InnoDB引擎可以利用事務日志進行數據恢復。

主鍵查詢在InnoDB引擎下會相當快

大批量的insert語句(在每個insert語句中寫入多行,批量插入)在MyISAM下會快一點。

Update語句在InnoDB下會更快一點。

?


?

?數據結構:

B-Tree

?

每個節點最多可以有d個分支,d成為B-Tree的度

B-Tree中的元素都是有序的,比如圖中元素7左邊的指針指向的節點中的元素都小于7,而元素7和16之間的指針指向的結點中的元素都處于7和16之間。正是滿足這樣的關系,才能實現高效的查找:首先從根節點進行二分查找,找到就返回對應的值,否則就進入相應的區間結點遞歸查找,直到找到對應的元素或找到null指針,找到null指針則表示查找失敗。時間復雜度為O(logN).

?

?

?

?

?

?

B+Tree:

?

?

?

?

?

B+tree內部節點不存儲數據,只存儲指針,而葉子節點則只存儲數據,不存儲指針。

MyISAM的 B+Tree的葉子節點上的data,并不是數據本身,而是數據存放的地址。

?

InnoDB引擎的索引結構同樣是B+Tree,但InnoDB的索引文件本身就是數據文件,即B+Tree的數據區域存儲的就是實際的數據,這種索引就是聚簇索引。

聚簇索引的數據的物理結構存放順序與索引順序是一致的,即:只要索引的事相鄰的,那么對應的數據一定也是相鄰地存放在磁盤上。

轉載于:https://www.cnblogs.com/xuesheng/p/7928962.html

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

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

相關文章

C++總結筆記(九)—— 多態

文章目錄一、多態是什么?二、使用步驟2.1. 靜態多態2.1.1 函數重載2.1.2 模板2.2.動態多態2.2.1 示例2.2.2 原理分析總結一、多態是什么? 多態是面向對象的語言中都必須掌握的特性,其概念簡單講就是對同一種特性的方法有不同的實現功能&…

[轉]c++類的構造函數詳解

c構造函數的知識在各種c教材上已有介紹,不過初學者往往不太注意觀察和總結其中各種構造函數的特點和用法,故在此我根據自己的c編程經驗總結了一下c中各種構造函數的特點,并附上例子,希望對初學者有所幫助。 c類的構造函數詳解 …

結構體對齊問題

#pragma (1)typedef struct {};#pragma ()#pragma pack(1) 的意義是什么skypxl | 瀏覽 27771 次發布于2009-10-01 16:38最佳答案設置結構體的邊界對齊為1個字節,也就是所有數據在內存中是連續存儲的。比如你在C語言中定義下面這樣的結構體:struct s {cha…

【機器學習】——純Python建立BP模型

參考:https://blog.csdn.net/michael_f2008/article/details/103715699 https://developer.aliyun.com/article/614411 import pandas as pd import numpy as np import datetime from sklearn.utils import shuffle# 1.初始化參數 def initialize_parameters(n_x, n_h, n_y…

組件局域網中的無集線器、Windows XP、Windows 7、Windows 8的對等網

為什么要用對等網? 答:對等網采用分散管理的方式,網絡中的每臺計算機既作為客戶機又可作為服務器來工作,每個用戶都管理自己機器上的資源。 組建局域網中無集線器的對等網 組建局域網中Windows XP的對等網 組建局域網中Windows 7的…

datatable綁定comboBox顯示數據[C#]

實現功能:datatable綁定comboBox,在下拉菜單中顯示對應數據 實現方法:    //dataSet 轉 dataTable    1、生成datatable,并為combox綁定數據源:comboBox1.DataSource dt1;comboBox1.DisplayMember "用戶編碼"…

C++總結筆記(十)——堆區內存開辟數組和二級指針

文章目錄一、堆區開辟數組1. 數組指針與指針數組的區別2. 1維數組3. 2維數組二、二級指針一、堆區開辟數組 1. 數組指針與指針數組的區別 數組指針是指指向數組的指針,它的本體是一個指針, 聲明指針變量的時候一般用括號,因為括號的優先級高于[]&#…

阿里巴巴將赴NIPS 2017 3大事業部聯袂展示AI全技能

被譽為國際頂級的機器學習和神經網絡學術會議NIPS 2017將于12月4日-9日在美國加州長灘市舉行。在本屆會議上,阿里巴巴除有兩篇論文入選Workshop并進行Oral和Poster形式報告外,3大技術事業部將連續3天(5日-7日)在阿里展區舉行多場技…

【圖像處理】——Python實現圖像特征提取BP神經網絡實現圖像二分類

目錄 一、圖像特征提取 二、BP實現圖像二分類 1、輸入層、隱層、輸出層結點個數設置

mysql sql語句大全

1、新建用戶:>CREATE USER name IDENTIFIED BY ssapdrow; 2、更改密碼: >SET PASSWORD FOR namePASSWORD(fdddfd); 3、權限管理 >SHOW GRANTS FOR name; //查看name用戶權限 >GRANT SELECT ON db_name.* TO name;    //給name用戶db_…

C++總結筆記(十一)—— Lambda表達式的應用

文章目錄一、Lambda表達式是什么?二、程序示例1. 在STL中的使用一、Lambda表達式是什么? Lambda表達式時C11引入的語法,本質上是一個匿名函數,用[ ] () {}三個符號組成表達式。 格式為:[capture list] (params list) …

【文件處理】——字典寫入json文件或TXT文件,讀取文件中的字典TypeError: Object of type ‘ndarray‘ is not JSON serializable錯誤解決方法

目錄 一、將字典寫入json文件 二、json文件中讀取字典 三、將字典寫入TXT文件中 四、從TXT中讀取字典 五、解決字典含數組存入json文件失敗的方法 1、存入前將數組變成列表 2、擴展類方法 一、將字典寫入json文件 import jsontest_dict {version: "1.0",exp…

js一些實用例子

1.獲取焦點選中文本內容 $("#id").focus(function(){ this.select(); }); 2.表單提交方式 A.自動提交 setTimeout(function(){表單對象.submit();},2000); B.onclick事件提交(鏈接提交) <input type"submit" value"提交" οnclick"retur…

360安全衛士加速球誤關閉某個應用軟件

近期因為工作原因須要使用金山快盤。但因為之前電腦上安裝了360安全衛士&#xff0c;在使用加速球功能的時候&#xff0c;會出現&#xff0c;誤關閉金山快盤的操作&#xff0c;怎么避免呢&#xff1f; 1、打開360主界面。找到安全防護中心&#xff0c;例如以下圖&#xff1a; 2…

C++STL總結筆記(一)—— 容器和容器適配器

文章目錄前言一、概念1.1 順序容器1.2 容器適配器1.3 關聯容器二、程序示例1. vector和Set自定義數據類型的訪問2.vector容器嵌套3.list容器排序4.pair對組的使用總結前言 STL是C中的基于數據結構和算法的標準模板庫&#xff0c;可以大量節約系統開發時間&#xff0c;增加程序…

【圖像處理】——比特平面原理和實現方法(全網較全面,含所有比特位圖的分層方法)

目錄 一、比特平面 1st比特平面:括號里面的為比特值,前面的是原圖像中對應要變為0的像素值

20145238-荊玉茗 《信息安全系統設計基礎》第7周學習總結

20145238 《信息安全系統設計基礎》第7周學習總結 教材學習內容總結 存儲器系統 : 存儲器系統是一個具有不同容量、成本和訪問時間的存儲設備的層次結構。 1、RAM隨機訪問存儲器 分類&#xff1a;SRAM&#xff08;靜態&#xff09;、DRAM&#xff08;動態&#xff09;特點&…

關于兩個jar包中存在包名和類名都完全相同的jar包沖突問題

2019獨角獸企業重金招聘Python工程師標準>>> 最近弄webservice&#xff0c;我使用的jdk自帶的wsimport工具來生成客戶端代碼&#xff0c;發現生成的代碼具有編譯錯誤&#xff0c;錯誤描述如下&#xff1a; The method getPort(QName, Class<T>) in the type S…

限制文本框只能輸入數字和小數點

<input type"text" class"NumText" placeholder"只能輸入數字&#xff08;可含有小數點&#xff09;"/><style> .NumText{width:200px;} .NumText::-webkit-input-placeholder{color:#F1923C;} .NumText:-moz-placeholder{…