1. 程式人生 > >Mysql儲存引擎與事務

Mysql儲存引擎與事務

儲存引擎:

資料庫對同樣的資料,有著不同的儲存方式和管理方式。在Mysql中,稱為儲存引擎。 常用的表的引擎:Myism   InnoDB    BDB   Memory  Archive、 常見儲存引擎特點:
Myisam:批量插入速度快,不支援事務 Innodb:批量插入速度較慢,支援事務 宣告舉例: mysql> create table account (
    -> id int,
    -> name varchar(10),
    -> money int 
    -> ) engine innodb;


事務:

把某些操作封裝成一組操作。有四大特性簡稱 ACID 
通俗的說事務,指一組操作,要麼成功執行,要麼不執行---->原子性(atomicity) 事務發生前和發生後,資料的總額依然匹配  --->一致性  (consistency)
在所有操作沒有執行完畢之前,其他會話不能夠看到中間改變的過程  ---->隔離性 (isolation) 事務產生的影響不能夠撤銷 ---->永續性 (durability) 如果出了錯誤只能通過補償事務彌補。 關於事務的搜尋引擎:選用innodb  /  bdb 開啟事務:  start transaction; 提交:commit     成功commit 回滾:rollback    
失敗rollback 注意:有一些語句會造成事務隱式的提交,比如start transaction。 事務的基本原理簡述: sql語句和表資料檔案之間相當於有中間事務日誌檔案的存在,sql語句作用到事務日誌檔案,如果發生了commit,事務日誌再集中的作用到表資料檔案。 如果發生了rollback,事務日誌檔案打上標誌不提交,但也不會把日誌刪除。