MyISAM 和 InnoDB 的区别
2024-09-25
20
1. 存储引擎
存储引擎其实就是如何存储数据、如何建立索引、如何查询和更新数据等技术的实现方法
2. MyISAM 和 InnoDB 的区别
这个问题在面试中被问道的频率非常高
事务和外键:MyISAM 强调的是性能,它的执行速度比 InnoDB 更快,但是不支持事务和外键功能;InnoDB 支持事务和外键等高级数据库功能
全文索引:MyISAM 支持 FULLTEXT 类型的全文索引;InnoDB 不支持全文索引,但是 InnoDB 可以使用 sphinx 插件支持全文索引,并且效果更好
表的具体行数:MyISAM 保存有表的总行数,如果使用 select count(*) from table; 会直接取出该值;InnoDB 没有保存表的总行数,如果使用 select count(*) from table; 就会遍历整个表,消耗相当大,但是在加了 where 条件后,MyISAM 和 InnoDB 的处理方式是一样的
表锁差异:MyISAM 只支持表级锁;InnoDB 支持事务和行级锁
更新于:19天前赞一波!
相关文章
- 【说站】java与c语言区别
- thinkphp怎么用model?ThinkPHP中实例Model方法的区别说明
- JS 数组方法 every 和 some 的区别
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
- GET 和 POST 请求方式的区别
- MySQL 中 varchar 和 char 区别
- 数据库系列:MySQL引擎MyISAM和InnoDB的比较
- cookie 和 session 的区别
- composer install、update、require 区别
- .NET中Task和ValueTask的区别
- PHP 函数传值和传引用的区别
- require 和 include 的区别
- C#中异步编程时使用Task.Factory.StartNew和Task.Run的区别
- Navicat Premium 和 Navicat for MySQL 的区别
- .NET8 Blazor三种模式的区别和使用场景
- C++释放new分配内存时带方括号delete[]和不带方括号delete的区别
- Shadowsocks各个加密算法的区别
- 程序员和码农的区别:解析软件开发领域的两种角色
- java中get请求和post请求的区别
- Makefile中赋值等号:=, =, ?=和+=的含义和区别
文章评论
评论问答