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