MySQL存储引擎

一、存储引擎:MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。

并发控制:当多个连接对记录进行修改时保证数据的一致性和完整性。由锁来解决这种问题。

锁:

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

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

锁颗粒(锁策略):

    表锁:是一种开销最小的锁策略。当用户针对数据表操作时,即用户获得了这张表的写锁权限,写锁会阻止其他用户对这张表的读写操作。(这张表只会有一个锁)

    行锁:是一种开销最大的锁策略,也是支持最大并发操作处理的一种情况。(这张表可能存在多个锁)

事务:用于保证数据库的完整性。数据库区别于文件系统的重要特征之一。

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

MySQL支持的存储引擎:

  存储引擎的选择:

MyISAM:适用于事务的处理不多的情况;

InnoDB:适用于事务处理比较,需要有外键支持的情况。

二、修改存储引擎的方法:

1、通过修改MySQL配置文件实现:

      default-storage-engine = engine

2、通过创建数据表命令实现:

      CREATE TABLE tb_name(...... .......) ENGINE = engine;

mysql> create table testyq(
    -> s1 varchar(20)
    -> )ENGINE = MyISAM;
Query OK, 0 rows affected (0.17 sec)

mysql> show create table testyq;
+--------+----------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                 |
+--------+----------------------------------------------------------------------------------------------+
| testyq | CREATE TABLE `testyq` (
  `s1` varchar(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+--------+----------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

mysql>

3、通过修改数据库表命令实现;

ALTER TABLE tb_name ENGINE [ = ] engin_name;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值