MySQL儲存引擎

來源:互聯網
上載者:User

標籤:結構   password   建表   OLE   rom   內容   記錄   init.d   記錄   

MySQL儲存引擎

一種儲存機制、根據不同的引擎實現不同的功能,以及不同的效能

1.儲存引擎分類
  • MyISAM:MySQL 5.0 之前的預設資料庫引擎,最為常用。擁有較高的插入,查詢速度,但不支援事務。表級鎖定:資料更新時會鎖定整張表。佔用資源少,效能高。寫入效能弱
  • InnoDB:事務型資料庫的首選引擎,支援ACID事務,支援行級鎖定, MySQL 5.5 起成為預設資料庫引擎。與MyISAM相比有更好的緩衝支援,支援資料表空間、表分區、佔用硬體資源較高。

  • BDB:源自 Berkeley DB,事務型資料庫的另一種選擇,支援Commit 和Rollback 等其他事務特性
  • Memory:所有資料置於記憶體的儲存引擎,擁有極高的插入,更新和查詢效率。但是會佔用和資料量成正比的記憶體空間。並且其內容會在 MySQL 重新啟動時丟失
  • Merge:將一定數量的 MyISAM 表聯合而成一個整體,在超大規模資料存放區時很有用
  • Archive:非常適合儲存大量的獨立的,作為記錄的資料。因為它們不經常被讀取。Archive 擁有高效的插入速度,但其對查詢的支援相對較差
  • Federated:將不同的 MySQL 伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分布式應用
  • Cluster/NDB:高冗餘的儲存引擎,用多台資料機器聯合提供服務以提高整體效能和安全性。適合資料量大,安全和效能要求高的應用
  • CSV: 邏輯上由逗號分割資料的儲存引擎。它會在資料庫子目錄裡為每個資料表建立一個 .csv 檔案。這是一種普通文字檔,每個資料行佔用一個文本行。CSV 儲存引擎不支援索引。
  • BlackHole:黑洞引擎,寫入的任何資料都會消失,一般用於記錄 binlog 做複製的中繼
  • EXAMPLE 儲存引擎是一個不做任何事情的存根引擎。它的目的是作為 MySQL 原始碼中的一個例子,用來示範如何開始編寫一個新儲存引擎。同樣,它的主要興趣是對開發人員。EXAMPLE 儲存引擎不支援編索引。

另外,MySQL 的儲存引擎介面定義良好。有興趣的開發人員可以通過閱讀文檔編寫自己的儲存引擎 。

2.引擎操作(1)查看
mysql> show engines;                        //查看當前資料庫所有支援的儲存引擎mysql> show table status from 庫名 where name=‘表名‘\G;     //查看指定表的狀態資訊,可查看錶使用的儲存引擎mysql> show create table 表名\G;              //查看建立表時的結構,也可查看錶建立時指定的儲存引擎
(2)更改(2.1)更改預設儲存引擎(下次建立表時生效,以前表格儲存體引擎不會更改)
vim /etc/my.cnf[mysqld]default-storage-engine=引擎/etc/init.d/mysqld restartmysql -u root -pmysql> show engines;                        //驗證是否更改
(2.2)更改現有表的儲存引擎
mysql> alter table 表名 engine=引擎;                //將指定表更改為指定的儲存引擎
(2.3)建立表時指定儲存引擎
mysql> create table 表名 欄位 engine=引擎;            //建立使用指定引擎的表
(2.4)批量將指定庫下所有表的InnoDB改為MyISAM
yum -y install perl-DBD-MySQL       //安裝命令所需的軟體包 mysql_convert_table_format --user=使用者名稱 --password=‘密碼‘ --socket=/tmp/mysql.sock --type=MyISAM 資料庫名           //更改指定庫下的所有表的儲存引擎;適用於源碼mysql_convert_table_format --user=使用者名稱 --password=‘密碼‘ --socket=/var/lib/mysql/mysql.sock --type=MyISAM 資料庫名         //更改指定庫下的所有表的儲存引擎;適用於RPM或YUM

註:mysql_convert_table_format命令只能從InnoDB引擎更改為MyISAM

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.