學習mysql資料庫,mysql表型別都有哪些是一定需要知道的,下面就為您介紹七種mysql表型別,希望能對您學習mysql表型別有所幫助。
mysql作為當前最為流行的免費資料庫服務引擎,已經風靡了很長一段時間,不過也許也有人對於mysql的內部環境不很了解,尤其那些針對併發性處理的機制。今天,我們先了解一下mysql表型別,以及它們的一些簡單性質。
截至目前,mysql一共向使用者提供了包括dbd、heap、isam、merge、myias、innodb以及gemeni這7種mysql表型別。其中dbd、innodb屬於事務安全類表,而其他屬於事務非安全類表。
dbdberkeley db(dbd)表是支援事務處理的表,由sleepycat軟體公司開發。它提供mysql使用者期待已久的功能--事務控制。事務控制在任何資料庫系統中都是乙個極有價值的功能,因為它們確保一組命令能成功地執行或回滾。
heap
heap表是mysql中訪問資料最快的表。這是因為他們使用儲存在動態記憶體中的乙個雜湊索引,不過如果mysql或伺服器崩潰,這些記憶體資料將會丟失。
isam
isam表是早期mysql版本的預設表型別,直到myiasm開發出來。建議不要再使用它。
merge
merge是乙個有趣的新型別,在3.23.25之後出現。乙個merge表實際上是又乙個myisam表的集合,合併而成的乙個表,主要是為了效率的考慮,因為這樣不僅僅可以提高速度、搜尋效率、修復效率而且還節省了磁碟空間。
myiasm
myiasm基於了iasm**,應該可以說是iasm的衍生品,不過增加了不少有用的擴充套件。它是mysql的預設資料表型別,基於了傳統的isam型別,isam是indexed sequential access method(有索引的順序訪問方法)的縮寫,一般來說,它是儲存記錄和檔案的標準方法。與其他儲存引擎比較,myisam具有檢查和修復**的大多數工具。isam**可以被壓縮,而且它們支援全文搜尋,不過它們是事務不安全的,而且也不支援外來鍵。如果事務回滾將會造成不完全回滾,從而不具備原子性。所以假如忽略事務以及訪問併發性的話,並且需要執行大量的select檢索語句的話,myisam將是最好的選擇。
innodb
innodb是mysql 4.0之後推出的一種比較新的資料表型別,這種型別是事務安全的。它與bdb型別具有相同的特性,它們還支援外來鍵。innodb**速度很快具有比bdb還豐富的特性,因此如果需要乙個事務安全的儲存引擎,建議使用它。如果你的資料執行大量的insert或update,出於效能方面的考慮,同樣應該使用innodb表。對於支援事務的innodb型別的表來說,影響速度的主要原因是autocommit預設設定是開啟的,而且程式沒有顯式呼叫begin 開始事務,導致每插入一條都自動提交,嚴重影響了速度。可以在執行sql前呼叫begin,多條sql形成乙個事物(即使autocommit開啟也可以),將大大提高效能。
gemeni
gemeni表,據聽說也是在mysql 4.0之後推出的,不過截至當前,很少有針對它的介紹,同樣應用也就更少了,我們暫時不作介紹。
mysql的資料表型別很多,其中比較重要的是myisam,innodb這兩種。
這兩種型別各有優缺點,需要根據實際情況選擇適合的,mysql支援對不同的表設定不同的型別。下面做個簡單的對比:
myisam表型別是一種比較成熟穩定的表型別,但是myisam對一些功能不支援。
MySQL 事物和事物回滾
原子性一致性隔離性永續性 事務應用 開啟事務 mysql begin mysql 一條或者多條sql命令 此時autocommint被禁用終止事務 mysql commit mysql rollback 注意 事務回滾只針對於表記錄的操作 增 刪 改有效 對建立庫 建立表的操作無效背景 你 建行卡 ...
mysql事物和儲存引擎以及php實現事物
設想網上購物的一次交易,其付款過程至少包括以下幾步資料庫操作 更新客戶所購商品的庫存資訊 儲存客戶付款資訊 可能包括與銀行系統的互動 生成訂單並且儲存到資料庫中 更新使用者相關資訊,例如購物數量等等 正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有資料庫資訊也成功地更新。但是,如果在...
Mysql事物和索引
mysql 事務主要用於處理操作量大,複雜度高的資料。mysql事物具有以下特點 在 mysql 中只有使用了 innodb 資料庫引擎的資料庫或表才支援事務。事務處理可以用來維護資料庫的完整性,保證成批的 sql 語句要麼全部執行,要麼全部不執行。事務用來管理 insert,update,dele...