MySQL存储引擎
时间:2021-07-01 10:21:17
帮助过:18人阅读
。
常见的存储引擎:
-MyISAM
-InnoDB
-Memory
-CSV
-Archive
2.相关知识
(1)并发控制:
当多个连接对记录进行修改时保证数据的一致性和完整性。
处理并发读和并发写时系统使用一套锁系统来解决问题
-共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化;
-排他锁(写锁):只能有一个用户写入资源,当进行写锁时会阻塞其它的读锁或写锁操作
-
锁颗粒:(锁的力度,锁定时的单位,对修改的数据精确加锁)
表锁:开销最小的策略;
行锁:开销最大 的策略
(2)事务:(数据库区别于文件系统的重要特征之一)
(3)外键:保证数据一致性的策略
(4)索引:对数据表中的一列或多列的值进行排序的一种结构
可以快速访问数据表中的特定信息(相当于书的目录)
3.各个存储引擎的特点
CSV存储引擎不支持索引
MyISAM:适用于事务不多的情况
InnoDB:适用于事务处理比较多,需要有外键支持的情况。
4.设置存储引擎
CREATE TABLE table_name(
...
)ENGINE = MyISAM;
ALTER TABLE table_name ENGINE = engine_name;
mysql> CREATE TABLE tp1( -> s VARCHAR(10) -> )ENGINE = myisam; Query OK, 0 rows affected
mysql> SHOW CREATE TABLE tp1; +-------+----------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------+ | tp1 | CREATE TABLE `tp1` ( `s` varchar(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------+ 1 row in set
mysql> ALTER TABLE tp1 ENGINE=InnoDB; Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0
mysql> SHOW CREATE TABLE tp1; +-------+----------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------+ | tp1 | CREATE TABLE `tp1` ( `s` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------+ 1 row in set
|
MySQL存储引擎
标签:问题 写入 order pad ima arc 写锁 add logs