mysql存储引擎

Mysql支持的存储引擎(这里只列出了四种作比较):

  1、MyISAM
  2、InnoDB
  3、MeMory
  4、Archive

在了解这四种存储引擎之前,先了解几个概念:

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

列:有两个用户登录,一个用户要删除商品表的22号记录,另一个用户要查询22号记录,有可能会造成正在查询的用户报错并退出,也有可能查询的用户读到一条与实际记录不符的信息。解决这类问题的方法就是并发控制

  在使用并发读和并发写时,系统提供了两类锁:

  共享锁(读锁):多个用户可以同时读取同一个资源,读取过程中数据不会发生改变;

  排他锁(写锁):在任意时刻,只允许一个用户对资源进行写操作,会阻塞其他的读锁或者写锁,不允许其他用户读和写操作;

  锁的粒度:在加锁时只加最对的而不加最大的,因为加锁会增加系统的开销;

  Mysql的锁策略有两种:对一张表进行操作,也就是对表进行写操作,会阻塞其他的读锁和写锁

    表锁:一种开销最小的锁(对一张表操作,直接锁整个表)

    行锁:一种开销最大的锁(对一张表操作,对表中的每一条记录都要加上锁)

2、索引:对表中的一列或者多列的值进行排序的一种结构

  使用索引可以快速的访问数据表中的特定信息;

  相当于一本书的目录,在查找有关信息时,查找目录就可以快速的查找到信息在哪一章节哪一页;

对这四种引擎比较:

特点MyISAMInnoDBMemoryArchive
存储限制256TB64TB
事务安全 支持  
支持索引支持支持支持 
锁颗粒表锁行锁表锁行锁
数据压缩支持  支持
支持外键 支持  

 

 

 

 

 

 

 

 

 

通常使用的都是前两种MyISAM和InnoDB;

更改存储引擎的方式:

1、在mysql的配置文件中(默认在C:\Program Files\MySQL\MySQL Server \my.ini):

   default-storage-engine=INNODB

2、创建表结构时修改:

CREATE TABLE user(

...

...

)ENGINE=InnoDB;

3、创建表之后修改:

ALTER TABLE user ENGINE = InnoDB;

 

转载于:https://www.cnblogs.com/YpfBolg/p/10853254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值