深刻懂得MySQL的數據庫引擎的類型。本站提示廣大學習愛好者:(深刻懂得MySQL的數據庫引擎的類型)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻懂得MySQL的數據庫引擎的類型正文
你能用的數據庫引擎取決於mysql在裝置的時刻是若何被編譯的。要添加一個新的引擎,就必需從新編譯MYSQL。在缺省情形下,MYSQL支撐三個引擎:ISAM、MYISAM和HEAP。別的兩品種型INNODB和BERKLEY(BDB),也經常可使用。
ISAM
ISAM是一個界說明白且歷經時光考驗的數據表格治理辦法,它在設計之時就斟酌到數據庫被查詢的次數要弘遠於更新的次數。是以,ISAM履行讀取操作的速度很快,並且不占用年夜量的內存和存儲資本。ISAM的兩個重要缺乏的地方在於,它不支撐事務處置,也不克不及夠容錯:假如你的硬盤瓦解了,那末數據文件就沒法恢復了。假如你正在把ISAM用在症結義務運用法式裡,那就必需常常備份你一切的及時數據,經由過程其復制特征,MYSQL可以或許支撐如許的備份運用法式。
MYISAM
MYISAM是MYSQL的ISAM擴大格局和缺省的數據庫引擎。除供給ISAM裡所沒有的索引和字段治理的年夜量功效,MYISAM還應用一種表格鎖定的機制,來優化多個並發的讀寫操作。其價值是你須要常常運轉OPTIMIZE TABLE敕令,來恢復被更新機制所糟蹋的空間。MYISAM還有一些有效的擴大,例如用來修單數據庫文件的MYISAMCHK對象和用來恢復糟蹋空間的MYISAMPACK對象。
MYISAM強調了疾速讀取操作,這能夠就是為何MYSQL遭到了WEB開辟如斯喜愛的重要緣由:在WEB開辟中你所停止的年夜量數據操作都是讀取操作。所以,年夜多半虛擬主機供給商和INTERNET平台供給商只許可應用MYISAM格局。
HEAP
HEAP許可只駐留在內存裡的暫時表格。駐留在內存使得HEAP比ISAM和MYISAM的速度都快,然則它所治理的數據是不穩固的,並且假如在關機之前沒有停止保留,那末一切的數據都邑喪失。在數據行被刪除的時刻,HEAP也不會糟蹋年夜量的空間,HEAP表格在你須要應用SELECT表達式來選擇和操控數據的時刻異常有效。要記住,用完表格後要刪除表格。
INNODB和BERKLEYDB
INNODB和BERKLEYDB(BDB)數據庫引擎都是培養MYSQL靈巧性的技巧的直接產物,這項技巧就是MySql++ API。在應用MySql的時刻,你所面臨的每個挑釁簡直都源於ISAM和MYIASM數據庫引擎不支撐事務處置也不支撐外來鍵。雖然要比ISAM和MYISAM引擎慢許多,然則INNODB和BDB包含了對事務處置和外來鍵的支撐,這兩點都是前兩個引擎所沒有的。如前所述,假如你的設計須要這些特征中的一者或許二者,那你就要自願應用後兩個引擎中的一個了。