欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mysql數(shù)據(jù)庫的存儲引擎有哪些-創(chuàng)新互聯(lián)

存儲引擎概念

MySQL中的數(shù)據(jù)用各種不同的技術(shù)存儲在文件(或者內(nèi)存)中。這些技術(shù)中的每一種技術(shù)都使用不同的存儲機(jī)制、索引技巧、鎖定水平并且最終提供廣泛的不同的功能和能力。通過選擇不同的技術(shù),你能夠獲得額外的速度或者功能,從而改善你的應(yīng)用的整體功能。

目前創(chuàng)新互聯(lián)建站已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、康樂網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

存儲引擎主要有: 1. MyIsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated 。

InnoDB(B+樹)

InnoDB 底層存儲結(jié)構(gòu)為B+樹, B樹的每個節(jié)點對應(yīng)innodb的一個page,page大小是固定的,一般設(shè)為 16k。其中非葉子節(jié)點只有鍵值,葉子節(jié)點包含完成數(shù)據(jù)。

數(shù)據(jù)庫:存儲引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等
適用場景

1)經(jīng)常更新的表,適合處理多重并發(fā)的更新請求。

2)支持事務(wù)。

3)可以從災(zāi)難中恢復(fù)(通過 bin-log 日志等)。

4)外鍵約束。只有他支持外鍵。

5)支持自動增加列屬性 auto_increment。

TokuDB(Fractal Tree-節(jié)點帶數(shù)據(jù))

TokuDB 底層存儲結(jié)構(gòu)為 Fractal Tree,Fractal Tree 的結(jié)構(gòu)與 B+樹有些類似, 在 Fractal Tree中,每一個 child 指針除了需要指向一個 child 節(jié)點外,還會帶有一個 Message Buffer ,這個Message Buffer 是一個 FIFO 的隊列,用來緩存更新操作。
例如,一次插入操作只需要落在某節(jié)點的 Message Buffer 就可以馬上返回了,并不需要搜索到葉子節(jié)點。這些緩存的更新會在查詢時或后臺異步合并應(yīng)用到對應(yīng)的節(jié)點中。

數(shù)據(jù)庫:存儲引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等
TokuDB 在線添加索引,不影響讀寫操作, 非??斓膶懭胄阅?, Fractal-tree 在事務(wù)實現(xiàn)上有優(yōu)勢。 他主要適用于訪問頻率不高的數(shù)據(jù)或歷史數(shù)據(jù)歸檔。

MyIASM

MyIASM是 MySQL默認(rèn)的引擎,但是它沒有提供對數(shù)據(jù)庫事務(wù)的支持,也不支持行級鎖和外鍵,因此當(dāng) INSERT(插入)或 UPDATE(更新)數(shù)據(jù)時即寫操作需要鎖定整個表,效率便會低一些。

ISAM 執(zhí)行讀取操作的速度很快,而且不占用大量的內(nèi)存和存儲資源。在設(shè)計之初就預(yù)想數(shù)據(jù)組織成有固定長度的記錄,按順序存儲的。

---ISAM 是一種靜態(tài)索引結(jié)構(gòu),缺點是它不 支持事務(wù)處理。

Memory

Memory(也叫 HEAP)堆內(nèi)存:使用存在內(nèi)存中的內(nèi)容來創(chuàng)建表。每個 MEMORY 表只實際對應(yīng)一個磁盤文件。MEMORY 類型的表訪問非常得快,因為它的數(shù)據(jù)是放在內(nèi)存中的,并且默認(rèn)使用HASH 索引。但是一旦服務(wù)關(guān)閉,表中的數(shù)據(jù)就會丟失掉。 Memory 同時支持散列索引和 B 樹索引,B樹索引可以使用部分查詢和通配查詢,也可以使用<,>和>=等操作符方便數(shù)據(jù)挖掘,散列索引相等的比較快但是對于范圍的比較慢很多。

索引
索引(Index)是幫助 MySQL 高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。常見的查詢算法,順序查找,二分查找,二叉排序樹查找,哈希散列法,分塊查找,平衡多路搜索樹 B 樹(B-tree)

常見索引原則

1.選擇唯一性索引

唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。

2.為經(jīng)常需要排序、分組和聯(lián)合操作的字段建立索引:

3.為常作為查詢條件的字段建立索引。

4.限制索引的數(shù)目:

越多的索引,會使更新表變得很浪費(fèi)時間。

5.盡量使用數(shù)據(jù)量少的索引

如果索引的值很長,那么查詢的速度會受到影響。

6.盡量使用前綴來索引

如果索引字段的值很長,最好使用值的前綴來索引。

7.刪除不再使用或者很少使用的索引

8 . 最左前綴匹配原則,非常重要的原則。

9 . 盡量選擇區(qū)分度高的列作為索引

10.區(qū)分度的公式是表示字段不重復(fù)的比例

11 .索引列不能參與計算,保持列“干凈”:帶函數(shù)的查詢不參與索引。

12 .盡量的擴(kuò)展索引,不要新建索引。

數(shù)據(jù)庫三范式

范式是具有最小冗余的表結(jié)構(gòu)。范式具體如下:

第一范式(1st NF -列都是不可再分)

第一范式的目標(biāo)是確保每列的原子性:如果每列都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)
數(shù)據(jù)庫:存儲引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等

第二范式(2nd NF-每個表只描述一件事情)

首先滿足第一范式,并且表中非主鍵列不存在對主鍵的部分依賴。 第二范式要求每個表只描述一件事情。

數(shù)據(jù)庫:存儲引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等
第三范式(3rd NF- 不存在對非主鍵列的傳遞依賴)

第三范式定義是,滿足第二范式,并且表中的列不存在對非主鍵列的傳遞依賴。除了主鍵訂單編號外,顧客姓名依賴于非主鍵顧客編號。

數(shù)據(jù)庫:存儲引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等
數(shù)據(jù)庫是事務(wù)

事務(wù)(TRANSACTION)是作為單個邏輯工作單元執(zhí)行的一系列操作,這些操作作為一個整體一起向系統(tǒng)提交,要么都執(zhí)行、要么都不執(zhí)行 。事務(wù)是一個不可分割的工作邏輯單元

事務(wù)必須具備以下四個屬性,簡稱 ACID 屬性:

原子性(Atomicity)

  1. 事務(wù)是一個完整的操作。事務(wù)的各步操作是不可分的(原子的);要么都執(zhí)行,要么都不執(zhí)行。

一致性(Consistency)

  1. 當(dāng)事務(wù)完成時,數(shù)據(jù)必須處于一致狀態(tài)。隔離性(Isolation)

  2. 對數(shù)據(jù)進(jìn)行修改的所有并發(fā)事務(wù)是彼此隔離的,這表明事務(wù)必須是獨(dú)立的,它不應(yīng)以任何方式依賴于或影響其他事務(wù)。

永久性(Durability)

  1. 事務(wù)完成后,它對數(shù)據(jù)庫的修改被永久保持,事務(wù)日志能夠保持事務(wù)的永久性。

存儲過程(特定功能的 SQL 語句集)

一組為了完成特定功能的 SQL 語句集,存儲在數(shù)據(jù)庫中,經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象。

存儲過程優(yōu)化思路:

  1. 盡量利用一些 sql 語句來替代一些小循環(huán),例如聚合函數(shù),求平均函數(shù)等。

  2. 中間結(jié)果存放于臨時表,加索引。

  3. 少使用游標(biāo)。sql 是個集合語言,對于集合運(yùn)算具有較高性能。而 cursors 是過程運(yùn)算。比如對一個 100 萬行的數(shù)據(jù)進(jìn)行查詢。游標(biāo)需要讀表 100 萬次,而不使用游標(biāo)則只需要少量幾次讀取。

  4. 事務(wù)越短越好。sqlserver 支持并發(fā)操作。如果事務(wù)過多過長,或者隔離級別過高,都會造成并發(fā)操作的阻塞,死鎖。導(dǎo)致查詢極慢,cpu 占用率極地。

  5. 使用 try-catch 處理錯誤異常。

  6. 查找語句盡量不要放在循環(huán)內(nèi)。

觸發(fā)器(一段能自動執(zhí)行的程序)

觸發(fā)器是一段能自動執(zhí)行的程序,是一種特殊的存儲過程,觸發(fā)器和普通的存儲過程的區(qū)別是:觸發(fā)器是當(dāng)對某一個表進(jìn)行操作時觸發(fā)。諸如:update、insert、delete 這些操作的時候,系統(tǒng)會自動調(diào)用執(zhí)行該表上對應(yīng)的觸發(fā)器。SQL Server 2005 中觸發(fā)器可以分為兩類:DML 觸發(fā)器和DDL 觸發(fā)器,其中 DDL 觸發(fā)器它們會影響多種數(shù)據(jù)定義語言語句而激發(fā),這些語句有 create、alter、drop 語句。

數(shù)據(jù)庫并發(fā)策略

并發(fā)控制一般采用三種方法,分別是樂觀鎖和悲觀鎖以及時間戳。

樂觀鎖

樂觀鎖認(rèn)為一個用戶讀數(shù)據(jù)的時候,別人不會去寫自己所讀的數(shù)據(jù);悲觀鎖就剛好相反,覺得自己讀數(shù)據(jù)庫的時候,別人可能剛好在寫自己剛讀的數(shù)據(jù),其實就是持一種比較保守的態(tài)度;時間戳就是不加鎖,通過時間戳來控制并發(fā)出現(xiàn)的問題。

悲觀鎖

悲觀鎖就是在讀取數(shù)據(jù)的時候,為了不讓別人修改自己讀取的數(shù)據(jù),就會先對自己讀取的數(shù)據(jù)加鎖,只有自己把數(shù)據(jù)讀完了,才允許別人修改那部分?jǐn)?shù)據(jù),或者反過來說,就是自己修改某條數(shù)據(jù)的時候,不允許別人讀取該數(shù)據(jù),只有等自己的整個事務(wù)提交了,才釋放自己加上的鎖,才允許其他用戶訪問那部分?jǐn)?shù)據(jù)。

時間戳

時間戳就是在數(shù)據(jù)庫表中單獨(dú)加一列時間戳,比如“TimeStamp”,每次讀出來的時候,把該字段也讀出來,當(dāng)寫回去的時候,把該字段加1,提交之前 ,跟數(shù)據(jù)庫的該字段比較一次,如果比數(shù)據(jù)庫的值大的話,就允許保存,否則不允許保存,這種處理方法雖然不使用數(shù)據(jù)庫系統(tǒng)提供的鎖機(jī)制,但是這種方法可以大大提高數(shù)據(jù)庫處理的并發(fā)量,以上悲觀鎖所說的加“鎖”,其實分為幾種鎖,分別是:排它鎖(寫鎖)和共享鎖(讀鎖)。

數(shù)據(jù)庫鎖

行級鎖

行級鎖是一種排他鎖,防止其他事務(wù)修改此行;在使用以下語句時,Oracle 會自動應(yīng)用行級鎖:

  1. INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT];

  2. SELECT … FOR UPDATE 語句允許用戶一次鎖定多條記錄進(jìn)行更新

  3. 使用 COMMIT 或 ROLLBACK 語句釋放鎖。

表級鎖

表示對當(dāng)前操作的整張表加鎖,它實現(xiàn)簡單,資源消耗較少,被大部分 MySQL 引擎支持。最常使用的 MYISAM 與 INNODB 都支持表級鎖定。表級鎖定分為表共享讀鎖(共享鎖)與表獨(dú)占寫鎖

(排他鎖)。

頁級鎖

頁級鎖是 MySQL 中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。表級鎖速度快,但沖突多,行級沖突少,但速度慢。所以取了折衷的頁級,一次鎖定相鄰的一組記錄。BDB 支持頁級鎖

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章名稱:Mysql數(shù)據(jù)庫的存儲引擎有哪些-創(chuàng)新互聯(lián)
地址分享:http://aaarwkj.com/article36/csojsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化電子商務(wù)、服務(wù)器托管品牌網(wǎng)站制作、標(biāo)簽優(yōu)化

廣告

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

成都網(wǎng)頁設(shè)計公司
少妇欧美日韩精品在线观看| 欧美成人一区二区三区片| 国产又黄又粗的视频| 亚洲女优中文字幕在线免费| 91国产网址在线观看| 国产日本韩国三级在线| 精品人妻av区天天看片| 声入人心第一季在线观看| 欧美另类精品一区二区| 91九色国产老熟女乱子| 午夜福利片免费在线观看| 婷婷六月开心激情五月| 麻豆剧传媒国产精选av| 四影虎影永久免费观看| 91久久精品91久久性色| 小明久久国内精品自线| 免费97久久人妻一区精品| 有码不卡中文字幕在线视频| 伊人色综合久久天天五月婷| 懂色粉嫩蜜臀久久一区二区| 国产一区在线免费在线观看| 欧美亚洲另类日韩综合网| 国产夫妻性生活视频播放| 无套内射精品一区二区| 亚洲婷婷综合久久一区二区| 国精品午夜福利视频不卡| 亚洲国产精品久久久久久99| 久久se精品一区精品二区国产| 天堂av日韩在线播放| 欧美一区二区久久综合| 中文字幕在线看精品乱码| 国产三级国产精品国产专播| 国产精品久久99精品| 日日做日夜夜操天天搞| 午夜在线观看成人av| 亚洲男人的天堂社区av| 欧美一区二区三区高清在线| 精品色妇熟妇丰满人妻5| 日韩有码中文字幕一区| 风间由美亚洲一区二区三区| 亚洲老司机深夜福利|