[精讚] [會員登入]
3989

[Mysql/MariaDB] 表格的引擎 (engine):查看及修改

MySQL表格引擎預設為 MyISAM,但在4.0以上的mysql 其實支援不只一種引擎,各有優缺點,這篇介紹引擎的操作。

分享此文連結 //n.sfs.tw/10656

分享連結 [Mysql/MariaDB] 表格的引擎 (engine):查看及修改@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 17:50:35 最後編修
2017-01-22 22:46:01 By 張○○
 

自動目錄

MySQL 表格格式預設為 MyISAM,但在4.0以上的mysql 其實支援不只一種型態,我們用以下指令來看看有哪些型態

查看系統支援的引擎種類

[5.0]
SHOW VARIABLES LIKE 'have%' ;

[5.0~5.5]
SHOW ENGINES; 


5.0 SHOW VARIABLES LIKE 'have%' ;畫面


5.0 Show engines畫面


5.5 show engines畫面

查看預設引擎

> show variables like '%engine%'

修改預設引擎

修改my.cnf

[mysqld]
default-storage-engine = myisam

重新啟動

修改表格引擎

如果我們的表格是 MyISAM ,想要更改為 InnoDB,則使用 alter的語法:
> ALTER TABLE 表格名 TYPE=InnoDB

新版的Mysql 語法
> ALTER TABLE 表格名 ENGINE=InnoDB

記憶體型
> ALTER TABLE tbl_name ENGINE = MEMORY

如果 MyISAM  原本有全文索引,則轉換會失敗,得先移除全索
> ALTER TABLE 表格名 DROP INDEX 索引名

至於 MyISAM 和 InnoDB 的優劣,相信很多文章,我只簡單結論一下:

屬性 MyISAM InnoDB
速度 SELECT 相似 相似
速度 UID 極慢 *
空間利用 可能 2 倍於 MyISAM
記憶體 較好 較差
檔案 每個表是獨立檔案 全部表放在一個tablespace,由多個檔案組成
全索 不可
關聯** 不可
交易Transaction 較麻煩只可TABLE LOCK 較易 可達 ROW LOCK,自動偵測死鎖

* 同事瑩光說時間大概差了18倍

參考資料

[1] https://dev.mysql.com/doc/refman/5.7/en/storage-engine-setting.html


原文 2009-12-26 00:39:08

END

你可能感興趣的文章

[Mysql] 修改欄位的自動索引值autoindex (auto_increment ) Mysql 新增、刪除、修改、查看欄位的自動索引值autoindex (auto_increment)

[Mysql/Mariadb] 查看使用狀態,抓出可疑慢查詢SQL 當Mysql 的負載loading飆高時,除了重新啟動外,如果想對症下藥,那該怎麼處理?

[Mysql/MariaDB] 清除及設定 MySQL 的死連接 mysql 伺服器若有太多的連接,無疑的會耗用非常多的資源,若資源耗盡會影響新的連線,勢必要做一些調整

[MySQL/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。

[Mysql/Mariadb] GROUP_CONCAT 函數 MySQL 中和 group by 一起用的函式,如果我們要算數值的總和或平均,可以使用 sum() 或 avg() 。但是我們如果要在 group by 中把字串「黏起來」,不是使用 concat(

隨機好文

[MAC] 截取螢幕畫面的方法 截取螢幕畫面的方法,在MAC中叫作螢幕快照,英文是screenshot

如何在linux下執行java 原生的java應用程式可以使用簡單的方法在console下面寫出來,適合作簡單的應用

UTF8中文字/全形一覽 快速查詢urf-8的中文字,共計13246中文字(5401常用字+7652罕用字+日文或編號),292全形符號,27半形符號。

外匯課程經驗 有天遇到某個朋友的正妹朋友,說她有個很棒的外匯投資課程,要我們去聽,只收場地費200大洋。她又說續效最差一個月也有1%,誰還在苦哈哈上班?

網頁的標頭(head)搜尋引擎和FB最佳化 網頁的標頭(head)搜尋引擎和facebook最佳化