摘要:不同的存儲引擎使用不同的存儲機制索引機制鎖定水平,根據(jù)實際需求選擇不同的存儲引擎。引擎所有表的數(shù)據(jù)存儲在內(nèi)存中,數(shù)據(jù)庫重啟和崩潰數(shù)據(jù)即將消失。如果只是臨時存放數(shù)據(jù),數(shù)據(jù)量不大,以選擇將數(shù)據(jù)保存在內(nèi)存中的引擎。
一、存儲引擎概念
數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫。至于怎么存儲,就涉及到存儲引擎。
不同的存儲引擎使用不同的存儲機制、索引機制、鎖定水平,根據(jù)實際需求選擇不同的存儲引擎。
二、mysql支持的存儲引擎
MyISAM、InnoDB、Memory、CSV、Archive
常用的:MyISAM、InnoDB
三、各種存儲引擎比較
mysql引擎有很多,只介紹以下通用的引擎。
MyISAM引擎
不支持事務(wù)操作,支持表級鎖,支持創(chuàng)建索引,不支持外鍵,并發(fā)性能會低很多(表級鎖),存儲空間會占用比較小。
InnoDB引擎
支持事務(wù)操作,支持行級鎖,支持創(chuàng)建索引,支持外鍵,允許并發(fā)量更大(行級鎖),存儲空間會占用比較大。InnoDB是默認(rèn)的MySQL引擎。
memery 引擎
所有表的數(shù)據(jù)存儲在內(nèi)存中,數(shù)據(jù)庫重啟和崩潰數(shù)據(jù)即將消失。非常適合儲存臨時數(shù)據(jù)的臨時表以及數(shù)據(jù)倉庫的經(jīng)緯表。
Archive引擎
Archive存儲引擎只支持Insert和select操作,Archive存儲引擎十分適合儲存歸檔的數(shù)據(jù),比如日志。使用行鎖實現(xiàn)高并發(fā)的而操作。而且Archive存儲引擎使用了zlib算法,將數(shù)據(jù)行進(jìn)行壓縮后儲存,壓縮比達(dá)1:10。
存儲引擎的選擇
1.如果要提供事物能力,并要求實現(xiàn)并發(fā)控制,InnoDB是一個好的選擇。
2.如果數(shù)據(jù)表主要用來插入和查詢記錄,則MyISAM引擎能提供較高的處理效率。
3.如果只是臨時存放數(shù)據(jù),數(shù)據(jù)量不大,以選擇將數(shù)據(jù)保存在內(nèi)存中的Memory引擎。
4.如果只有INSERT和SELECT操作,可以選擇Archive,如記錄日志信息可以使用Archive。
四、設(shè)置表的存儲引擎
1、查看表的引擎
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE,ENGINE FROM information_schema.TABLES WHERE TABLE_NAME = "TABLE_NAME";
SHOW CREATE TABLE TABLE_NAME;(也可從創(chuàng)建表的sql語句查看)。
SHOW TABLE STATUS where name ="TABLE_NAME"
2、修改表的引擎
ALTER TABLE TABLE_NAME ENGINE = InnoDB;
3.創(chuàng)建表時指定引擎
CREATE TABLE TABLE_NAME (ID INT) ENGINE=InnoDB;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71021.html
摘要:支持崩潰后的安全恢復(fù)。的使用場景更新密集的表存儲引擎特別適合處理多重并發(fā)的更新請求。外鍵約束支持外鍵的存儲引擎只有。引擎是及之前版本的默認(rèn)存儲引擎。文件存儲表的索引。引擎存儲引擎是引擎的變種。 MySQL基礎(chǔ)知識點整理 - 存儲引擎 0. 查看 MySQL 支持的存儲引擎 可以在 mysql 客戶端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...
閱讀 3618·2021-11-23 10:10
閱讀 3382·2019-08-30 14:03
閱讀 2116·2019-08-30 13:09
閱讀 3453·2019-08-29 15:29
閱讀 1589·2019-08-29 11:23
閱讀 2060·2019-08-28 18:28
閱讀 2901·2019-08-26 13:34
閱讀 2209·2019-08-26 11:32