用了好久的mysql資料庫,都不知道引擎的具體知識,被面試官虐殘了,希望對大家有幫助
資料庫引擎:
1.innodbacid(原子特性)
<1>提供了行級鎖和外來鍵約束,設計目標是處理大容量資料庫系統,它本身其實就是基於mysql後台的完整資料庫,提供了對資料庫acid的支援,並實現了sql標準的四種事務隔離級別
<2>當sql執行時,innodb會在記憶體中建立緩衝池,用於緩衝資料和索引,但並不支援fulltxt型別的索引,而且沒有儲存表的行數,當select *時需要掃瞄全表,該引擎則為首選(由於鎖的粒度小,寫操作不會鎖定全表,在併發較高時,使用innodb會提高效率,但是行級鎖並不是絕對的,當不確定mysql掃瞄範圍時,會鎖全表)
2.myisam
<1>mysql預設的引擎,沒有對資料庫事務的支援,沒有行級鎖和外來鍵約束,因此在執行update,insert等寫操作時比較慢。但該引擎儲存了行數 像查詢時則不需要全表掃瞄,所以當讀操作多餘寫操作且不需要資料庫事務支援,則該引擎不錯的選擇
*大資料的選擇為innodb ,因為它支援事務處理以及故障恢復,資料庫的大小決定了故障恢復時間的長短,(也可利用事務日誌進行資料恢復,比較快);
主鍵查詢在innodb較快,但主鍵太長會導致效能問題
大批insert在myisam快些,但update在innodb快些,尤其是併發量大的時候*
mysql資料庫引擎 mysql資料庫引擎
資料庫引擎是用於儲存 處理和保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式的要求。使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關聯式資料庫。這包括建立用於儲存資料的表和用於檢視 管理和保護資料安全的資料庫物件 如索引 檢視和...
資料庫引擎
之前只了解innodb,做乙個全面的了解,主要是針對mysql 資料庫引擎是用來儲存 處理 保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式需要,使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關係型資料庫,包括建立用於儲存資料的...
資料庫引擎
資料庫引擎 資料庫引擎簡單來說就是乙個 資料庫發動機 當你訪問資料庫時,不管是手工訪問,還是程式訪問,都不是直接讀寫資料庫檔案,而是通過資料庫引擎去訪問資料庫檔案。以關係型資料庫為例,你發sql語句給資料庫引擎,資料庫引擎解釋sql語句,提取出你需要的資料返回給你。因此,對訪問者來說,資料庫引擎就是...