1.什麼是儲存引擎:
mysql的儲存引擎表示的是mysql中資料庫表的儲存型別,不同儲存型別,表的儲存方式都不相同。
檢視儲存引擎:
show engines\g
create
table
`student`
(`sid`
int(11)
notnull
auto_increment
,`sname`
varchar(20
)default
null
,`sage`
date
default
null
,`s***`
enum
('男'
,'女'
)default
null
,primary
key(
`sid`),
unique
key`sname`
(`sname`))
engine
=innodb
;
2.不同的儲存引擎有什麼區別:儲存檔案的區別:
innodb:
.frm 表的結構
.ibd 資料和索引
myisam:
.frm 表的結構
.myi 索引
.myd 資料
memory:儲存在記憶體中
種類
鎖機制b-樹索引
雜湊索引
外來鍵事務
索引快取
資料快取
myisam
表瑣支援
不支援不支援
不支援支援
不支援innodb
行鎖支援
不支援支援
支援支援
支援memory
表鎖支援
支援不支援
不支援支援
支援3.為什麼mysql提供這麼多儲存引擎:
innodb:功能全 維護複雜
行鎖:加鎖複雜程度 > 表鎖
資料和索引:乙個檔案中既要管理資料 又要管理索引
索引 -> 目錄:通過索引能快速找到資料
用的時候資料從檔案 載入到記憶體使用 檔案io(特別耗時)
myisam:功能少 但是維護快
資料和索引:資料索引分開存放便於管理
索引 -> 資料位址
資料位址 -> 資料
用的時候資料從檔案 載入到記憶體使用 檔案io(特別耗時)
memory:儲存在記憶體中 資料如果單次使用
不用載入到記憶體中就能使用
當mysql關閉資料記憶體釋放
redis 記憶體及資料庫,持久化(能夠將資料放在檔案裡)。
4.如何改變儲存引擎
(1)在建立表的時候指定儲存引擎,如下:
create
table ai (
i bigint(20
)not
null
auto_increment
,primary
key(i)
)engine
=innodb
default
charset
=utf8;
(2)修改已存在表的儲存引擎,如下:
alter
table
user
engine
=innodb
;
(3)修改配置檔案,mysql server啟動的時候都會載入乙個配置檔案,windows下是my.ini檔案,linux下是my.cnf檔案,開啟配置檔案,在[mysqld]下面新增如下內容,儲存,重啟mysql server伺服器,預設就採用配置項指定的儲存引擎了。
# 建立新錶時將使用的預設儲存引擎
default
-storage-
engine
=myisam
# set the sql mode to strict
sql-
mode
="strict_trans_tables,no_auto_create_user,no_engine_substitution"
mysql儲存引擎 mysql儲存引擎簡介
精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...
mysql個儲存引擎 MySQL儲存引擎
mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...
mysql儲存引擎模式 mysql儲存引擎
mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 一 儲存引擎 儲存引擎 其實就是指定 表 如何儲存資料,如何為儲存的資料 建立索引以及 如何更新,查...