存儲引擎的介紹
關系型數據庫表是用來存儲和組織信息的數據結構,可以將表理解為由行和列組成的表格。
由于表的類型不同,我們在實際開發過程中,就有可能需要各種各樣的表,不同的表就意味著存儲不同類型的數據,數據的處理上也會存在差異
對于Mysql來說,它提供了很多種類型的存儲引擎
存儲引擎說白了就是如何存儲數據,如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。
因為在關系型數據庫中數據的存儲是以表的形式存儲 的,所以存儲引擎也可以稱為表類型(即存儲和操作此表的類型)
Mysql中的存儲引擎
MyISAM
這種引擎是mysql最早提供的,這種引擎又可以分為靜態MyISAM、動態MyISAM和壓縮MyISAM三種
靜態MyISAM:
            如果數據表中的各數據列的長度都是預先固定好的,服務器將自動選擇這種表類型。
            因為數據表中的每一條記錄所占用的空間都是一樣的,所以這種表存取和更新的效率非常高。
            當數據受損時,恢復工作也比較容易做
動態MyISAM:
             如果數據表中出現varchar,xxxtext或xxxxBLOB字段時,服務器將自動選擇這種表類型 。
             相對于靜態MyISAM,這種表存儲空間比較小,但由于每條記錄的長度不一,所以多次修改數據后,數據表中的數據就可能離散的存儲在內存中,進而導致執行效率下降.
             同時內存中也可能會出現很多碎片。
             因此這種類型的表要經常 用optimize table命令 或優化工具來進行碎片整理
壓縮MyISAM:
              以上說的兩種類型的表都可以用myisamchk工具壓縮。
              這種類型的表進一步減少了占用的存儲。 
              但是這種表壓縮之后不能再被修改。
              另外,因為是壓縮數據,所以這種表在讀取的時候要先執行解壓縮
但是,不管是哪種MyISAM表,目前都不支持事務,行級鎖和外鍵約束的功能
MyISAM表示獨立于操作系統的,這說明可以輕松的將其從windows服務器轉移 到linux服務器;
新聞熱點
疑難解答