MySQL資料庫儲存引擎

來源:互聯網
上載者:User

標籤:mysql   資料庫   儲存引擎   

MySQL資料庫儲存引擎

MySQL資料庫是一種關係型資料庫,資料時存放在資料庫中的一張一張的表中的,各個表之間或有關聯,表中的每行相關,每列是不相關。這是關係型資料庫的基本存放裝置方式。

MySQL儲存引擎是為了在各種不同的條件下對資料存放的可靠性、關聯性、讀寫等方面做出的一個可供選擇的儲存模式。

當前使用較多的MySQL儲存引擎主要有以下幾個,MyISAM,InnoDB,BdB,Memory等,這些儲存引擎主要在以下幾個方面有所區分,鎖定水平、處理方式、儲存方式和索引技巧方面有所不同。

mysql下顯示儲存引擎和更改儲存引擎的方法都很簡單


show engines;顯示所支援的

alter table tablename engine = whichengine;修改儲存引擎

create table tablename (id int,name char(15)) engine = whichengine;建立時更改


常見儲存引擎的區別:

1>MyISAM:它的前身是ISAM,它是ISAM的擴充,支援ISAM所不支援的索引和欄位管理功能,它的特點是表鎖定,可以處理高並發的讀寫操作,是預設的儲存引擎。

2>InnoDB和BdB:這兩個儲存引擎是唯一可支援交易處理的儲存引擎,區別是InnoDB是行鎖定的而BDB是頁鎖定的。

3>Memory:聽名字就知道這是一個用記憶體來暫存資料的儲存模式,讀寫效率自然不用說,但在資料庫關閉的時候資料會全部丟失。


三種鎖定水平:

1>表鎖定:為了防止多個使用者同時更新一張表,表鎖定在資料更新的時候它會鎖定整個表,所以在多使用者訪問時會造成很大延時,所以並發性差,但開銷小。

2>行鎖定:因為表鎖定的低並發,所以產生了行鎖定,在訪問資料庫時對資料庫的每一行進行鎖定,可以使得訪問不同行的使用者同時訪問同一張表,但它的開銷大,並且還會造成死結。(對於為什麼會產生死結的分析這裡給出一個部落格連結說的很盡http://www.cnblogs.com/bamboos/p/3532150.html)

3>頁鎖定:在行鎖定和表鎖定的中間生存著的便是頁鎖定了,它是折中方式。



本文出自 “痕迹” 部落格,請務必保留此出處http://wpfbcr.blog.51cto.com/10696766/1827175

MySQL資料庫儲存引擎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.