MySQL存储引擎介绍

MySQL存储引擎介绍MySQL 存储引擎介绍一 MySQL 存储引擎 1 INNODB2 MyISAM3 momery4 与存储引擎有关的 sql 命令 1 showengines G 查看数据库支持哪些存储引擎 2 altertablest myisam 修改表的存储引擎二 MyLSAM 和 InnoDB 存储引擎区别三 MyLSAM 和 InnoDB 存储引擎使用的锁一 MySQL 存储引擎 MySQL 种的存储引擎常用的是 InnoDB 和 MylSAM 其次是 memory

一、MySQL存储引擎

1.INNODB

2.MyISAM

3.momery

4.与存储引擎有关的sql命令

1.show engines \G:查看数据库支持哪些存储引擎

mysql> show engines \G *************************** 1. row *************************** Engine: FEDERATED Support: NO Comment: Federated MySQL storage engine Transactions: NULL XA: NULL Savepoints: NULL *************************** 2. row *************************** Engine: MRG_MYISAM Support: YES Comment: Collection of identical MyISAM tables Transactions: NO XA: NO Savepoints: NO *************************** 3. row *************************** Engine: MyISAM Support: YES Comment: MyISAM storage engine Transactions: NO XA: NO Savepoints: NO *************************** 4. row *************************** Engine: BLACKHOLE Support: YES Comment: /dev/null storage engine (anything you write to it disappears) Transactions: NO XA: NO Savepoints: NO *************************** 5. row *************************** Engine: CSV Support: YES Comment: CSV storage engine Transactions: NO XA: NO Savepoints: NO *************************** 6. row *************************** Engine: MEMORY Support: YES Comment: Hash based, stored in memory, useful for temporary tables Transactions: NO XA: NO Savepoints: NO *************************** 7. row *************************** Engine: ARCHIVE Support: YES Comment: Archive storage engine Transactions: NO XA: NO Savepoints: NO *************************** 8. row *************************** Engine: InnoDB Support: DEFAULT Comment: Supports transactions, row-level locking, and foreign keys Transactions: YES XA: YES Savepoints: YES *************************** 9. row *************************** Engine: PERFORMANCE_SCHEMA Support: YES Comment: Performance Schema Transactions: NO XA: NO Savepoints: NO 9 rows in set (0.46 sec) 

2.alter table student engine=myisam; 修改表的存储引擎

mysql> alter table student engine=myisam; Query OK, 7 rows affected (1.28 sec) Records: 7 Duplicates: 0 Warnings: 0 mysql> show create table student; +---------+-----------------------------------+ | Table | Create Table | +---------+------------------------------------+ | student | CREATE TABLE `student` ( `sid` bigint(20) DEFAULT NULL, `sname` varchar(255) DEFAULT NULL, `sex` char(1) DEFAULT NULL, `sage` int(11) DEFAULT NULL, KEY `inx_all` (`sid`,`sage`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | 

二、MyLSAM和InnoDB存储引擎区别

种类 锁机制 B树索引 哈希索引 外键 事务 索引缓存 数据缓存
MYISAM表锁 支持 不支持 不支持 不支持 支持
INNODB行锁 支持 不支持 支持 支持 支持
memoryl表锁 支持 支持 不支持 不支持 支持

锁机制:表示数据库在并发请求访问的时候,多个事务在操作时,并发操作的粒度B-树索引和哈希索引:主要是加速SQL的查询速度
外键:子表的字段依赖父表的主键,设置两张表的依赖关系
事务︰多个SQL语句,保证他们共同执行的原子操作,要么成功,要么失败,不能只成功一部分,失败需要考虑回滚事务
索引缓存和数据缓存︰和MYSQL server的查询缓存相关,在没有对数据和索引做修改之前,重复查询可以不用进行磁盘l/O,读取上一次内存中查询的缓存就可以了。

三、MyLSAM和InnoDB存储引擎使用的锁

MylSAM使用的表级锁:表级锁对当前操作的整张表进行加锁,是一个力度较大的锁,实现比较简单。资源消耗较小,加锁快,会出现死锁。触发锁的冲突的概率大,并发度最大。
INNODB采用的是行级锁:行级锁只对当前操作的数据行进行加锁,是一种力度比较小的锁,行级锁能大大降低数据库操作的冲突,并发度是比较高的,加锁的开销是比较大,加锁比较慢,会出现死锁。

今天的文章 MySQL存储引擎介绍分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-04 12:17
下一篇 2024-12-04 12:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/77838.html