MySQL引擎講解

來源:互聯網
上載者:User

標籤:mysql引擎

  MySQL支援三個引擎:ISAM、MyISAM和HEAP,根據需求不同來選擇不同的引擎

  資料庫的引擎到決於 MySQL 在安裝的時候是如何被編譯的,要添加一個新的引擎,就必須重新編譯

    --with-plugins=partition,innobase


ISAM:

    讀取操作速度很快,而且不佔用大量的記憶體和儲存資源

    不支援事物處理

    不能夠容錯

    若硬碟崩潰,將無法恢複資料


MyISAM:(預設表類型)


MyISAM是MySQL的ISAM擴充格式和預設的資料庫引擎,有如下擴充:

1)、二進位層次的可移植性。

2)、NULL列索引。

3)、對變長行比ISAM表有更少的片段。

4)、支援大檔案。

5)、更好的索引壓縮。

6)、更好的鍵碼統計分布。

7)、更好和更快的auto_increment處理。


MyISAM適合:(1)做很多count 的計算;(2)插入不頻繁,查詢非常頻繁;(3)沒有事務




InnoDB Berkley DB(BDB):(支援事物安全)

    支援外鍵

    支援行鎖

    支援事務

    採用雙授權:GPL和 商業授權


  適用於有大量的 update 和 insert 操作,高並發 QPS(每秒查詢率) 較高 的環境


查看資料庫引擎:

 

 查看現已提供儲存引擎: mysql> show engines;


  查看當前預設儲存引擎: mysql> show variables like ‘%storage_engine%‘;


  查看某個表用了什麼引擎(在顯示結果裡,參數 engine 後面的參數):

            mysql> show create table 表名;

         如: mysql> show create test_db;


修改 MySQL 資料表空間引擎:


 設定 InnoDB 為預設引擎:

    在設定檔my.cnf 中的[mysqld] 下面加入 default-storage-engine=INNODB


 修改表引擎:

    alter table test_db  engine=myisam;

    alter table test_db  engine=innodb;


    注意:如果添加innodb 引擎報錯,需刪除 /mysql/data 目錄下的             ib_logfile0,ib_logfile1 檔案即可

MySQL引擎講解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.