MySQL基础知识(七)——存储引擎

一.存储引擎

1.定义

         MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。   

         每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛且不同的功能。

2.MySQL支持的存储引擎

  •          MyISAM
  •          InnoDB
  •          Memory
  •          CSV
  •          Archive

 各种存储引擎的特点:

特点MyISAM(最常用)InnoDB(最常用)MemoryArchive
存储限制256TB64TB有(由内存决定)
事务安全-支持--
支持索引支持支持支持-
锁颗粒表锁行锁表锁行锁
数据压缩支持--支持
支持外键-支持--

(1)并发控制:当多个连接对记录进行修改时,保证数据的一致性和完整性。

(2)锁分类

         共享锁(读锁):共享,互不阻塞。在同一时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。

         排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。

         加锁只加最对的,而不是最大的。加锁会增加系统的开销。

(3)锁颗粒

          表锁,是一种开销最小的锁策略;(一张表只能有一个锁。)

          行锁,是一种开销最大的锁策略。(一个比表有多少条数据,则有可能有多少个锁。)

(4)事务:事务用于保护数据库的完整性。

         事务特性:  

                         原子性(Atomicity)

                         一致性(Consistency)

                         隔离性(Isolation)

                         持久性(Durability)

(5)外键:是保证数据一致性的策略。

(6)索引: 是对数据表中一列或多列的值进行排序的一种结构。

  •   普通索引
  •   唯一索引
  •   全文索引
  •   btree索引
  •   hash索引

3.修改存储引擎的方法

(1)通过修改MySQL配置文件实现:default-storage-engine = engine

(2)通过创建数据表命令实现

         语法:CREATE TABLE table_name(...) ENGINE = engine;

# 创建数据表,并将引擎设置为MyISAM
CREATE TABLE tbl_engine_test ( NAME VARCHAR ( 40 ) ) ENGINE = MyISAM;

使用命令:SHOW CREATE TABLE tbl_engine_test; 查看创建数据表的引擎。

(3)通过修改数据表命令实现

         语法:ALTER TABLE table_name ENGINE [ = ] engine_name;

# 修改数据表,并将引擎修改为INNODB
ALTER TABLE tbl_engine_test ENGINE = INNODB;

修改后使用命令:SHOW CREATE TABLE tbl_engine_test; 再次查看创建数据表的引擎。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值