<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 存儲引擎 ## InnoDB 存儲引擎 InnoDB 是事務性數據庫的首選引擎,支持事務安全表(ACID),支持行鎖定和外鍵。MySQL5.5.5 之后,InnoDB 作為默認存儲引擎。InnoDB 主要特性有: * InnoDB 給 MySQL 提供了具有提交、回滾和崩潰恢復能力的事務安全(ACID 兼容)存儲引擎。InnoDB 鎖定在行級并且也在 SELECT 語句中提供一個類似 Oracle 的非鎖定讀。這些功能增加了多用戶部署和性能。在 SQL 查詢中,可以自由地將 InnoDB 類型的表與其他 MySQL 的表的類型混合起來,甚至在同一個查詢中也可以混合。 * InnoDB 是為處理巨大數據量所設計的性能為重的,它的 CPU 效率可能是任何其他基于磁盤的關系數據庫引擎所不能匹敵的。 * InnoDB 存儲引擎完全與 MySQL 服務器整合,InnoDB 存儲引擎在主內存中維持了自己的緩沖池來緩存數據和索引。InnoDB 將它的表和索引存在一個邏輯表空間中,表空間可以包含數個文件(或原始磁盤分區)。這與 MyISAM 表不同,比如在 MyISAM 表中每個表被存在分離的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制在 2GB 的操作系統上。 * InnoDB 支持外鍵完整性約束(FOREIGN KEY)。存儲表中的數據時,每張表的存儲都按主鍵順序存放,如果沒有顯式在表定義時制定主鍵,InnoDB 會為每一行生成一個 6B 的 ROWID,并以此作為主鍵。 * InnoDB 被用在眾多需要高性能的大型數據庫站點上。 * InnoDB 不創建目錄,使用 InnoDB 時,MySQL 將在 MySQL 數據目錄下創建一個名為 ibdata1 的 10MB 大小的自動擴展數據文件,以及兩個名為 ib_logfile0 和 ib_logfile1 的 5MB 大小的日志文件。 ### InnoDB文件格式 `frm`:表格式 `Ibd`:表數據、索引(InnoDB data) ### 聚集索引 葉子節點包含完整的數據記錄 ## MyISAM 存儲引擎 MyISAM 是基于 ISAM 的存儲引擎,并對其進行擴展。它是在 Web、數據存儲和其他應用環境下最常使用的存儲引擎之一。MyISAM 擁有較高的插入、查詢速度,但不支持事務。在 MySQL5.5.5 之前的版本中,MyISAM 是默認存儲引擎。MyISAM 主要特性有: * 大文件(達 63 位文件長度)在支持大文件的文件系統和操作系統上被支持。 * 當把刪除、更新及插入操作混合使用的時候,動態尺寸的行產生更少碎片。這要通過合并相鄰被刪除的塊,以及若下一個塊被刪除,就擴展到下一塊來自動完成。 * 每個 MyISAM 表最大索引數是 64,這可以通過重新編譯來改變。每個索引最大的列數是 16 個。 * 最大的鍵長度是 1000B,這也可以通過編譯來改變。對于鍵長度超過 250B 的情況,一個超過 1024B 的鍵將被用上。 * BLOB 和 TEXT 列可以被索引。 * NULL 值被允許在索引的列中。這個值占每個鍵的 0-1 個字節。 * 所有數字鍵值以高字節優先被存儲以允許一個更高的索引壓縮。 * 每表一個 AUTO_INCREMENT 列的內部處理。MyISAM 為 INSERT 和 UPDATE 操作自動更新這一列。這使得 AUTO_INCREMENT 列更快(至少 10%)。在序列項的值被刪除之后就不能再利用。 * 可以把數據文件和索引文件放在不同目錄。 * 每個字符列可以有不同的字符集。 * 有 VARCHAR 的表可以固定或動態記錄長度。 * VARCHAR 和 CHAR 列可以多達 64KB。 * 使用 MyISAM 引擎創建數據庫,將產生 3 個文件。文件的名字以表的名字開始,擴展名代表了文件的類型:frm 文件存儲表定義,myd 代表數據文件,myi 代表索引文件。 ### MyISAM文件格式 `frm`:表格式 `MYD`:表數據(MyISAM data) `MYI`:表索引(MyISAM Index) ## MEMORY 存儲引擎 MEMORY 存儲引擎將表中的數據存儲到內存中,為查詢和引用其他表數據提供快速訪問。MEMORY 主要特性有: * MEMORY 表的每個表可以有多達 32 個索引,每個索引 16 列,以及 500B 的最大鍵長度。 * MEMORY 存儲引擎執行 HASH 和 BTREE 索引。 * 可以在一個 MEMORY 表中有非唯一鍵。 * MEMORY 表使用一個固定的記錄長度格式。 * MEMORY 不支持 BLOG 或 TEXT 列。 * MEMORY 支持 AUTO_INCREMENT 列和對可包含 NULL 值的列的索引。 * MEMORY 表在所有客戶端之間共享(就像其他任何非 TEMPORARY 表)。 * MEMORY 表內容被存在內存中,內存是 MEMORY 表和服務器在查詢處理時的空閑中創建的內部表共享的。 * 當不再需要 MEMORY 表的內容時,要釋放被 MEMORY 表使用的內存,應該執行 DELETE FROM 或 TRUNCATE TABLE,或者刪除整個表(用 DROP TABLE)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看