暂无图片
Mysql的InnoDB引擎相对MyISAM引擎的优点?除了InnoDB,什么场景下可以选择其他存储引擎?
我来答
分享
枫神
2022-12-01
Mysql的InnoDB引擎相对MyISAM引擎的优点?除了InnoDB,什么场景下可以选择其他存储引擎?

Mysql的InnoDB引擎相对MyISAM引擎的优点?除了InnoDB,什么场景下可以选择其他存储引擎?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
zhangyfr
2022-12-01

InnoDB相对MyISAM的优点:
1)MyISAM不支持外键,而InnoDB支持外键。
2)MyISAM不支持事务,而InnoDB支持事务。因此当除了查询和插入操作之外,还有比较多的更新和删除操作,优先考虑InnoDB。
3)MyISAM仅支持表锁,即使操作一条记录,也会锁住整个表。而InnoDB支持行锁,操作时只锁某一行,不对其他行有影响,因此InnoDB适合高并发的操作。

什么时候选择其他存储引擎?:
1)如果是小型应用,系统以插入操作和查询操作为主,只有很少的更新、删除操作,并且对事务的要求没有那么高,那么可以选择MyISAM存储引擎。MyISAM存储引擎的优势在于占用空间小,处理速度快;缺点是不支持事务的完整性和并发性。
2)如果是存储历史记录之类的不再修改的数据,可以使用Archive。Archive表仅支持插入和查询两个操作,拥有很好的压缩机制。适合日志和数据采集(档案)类的应用,拥有很高的插入速度,但是对查询的支持较差。
3)如果数据文件格式是CSV格式的,可以优先使用CSV引擎。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
刘贵宾
2022-12-01
严少安
2022-12-01
zhangyfr
2022-12-02
卷不动了
暂无图片 评论
暂无图片 有用 0
打赏 0
游湖
2022-12-02

看着累

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle的用户状态,dba_users 系统表,在其他db中有类似的系统表来对应吗?
回答 1
一般都有的,MySQL里面的mysql.user
mysql:下列语句为什么会锁tableB?
回答 3
做了一个测试的确会锁定tableB表updatetestloginsetusrname(selectsnamefrom(select,sleep(30)fromtestuser)asawheretes
请教各位,sql server 向mysql 同步数据,有啥好工具吗?
回答 2
已采纳
看你要求什么级别的同步,整体同步,还是多表同步?ogg,kettle都可以或者自己写个同步程序
MYSQL启动报错
回答 1
看一下MYSQL错误日志文件,检查一下systemd文件的配置和MY.CNF文件的配置。
MySQL主密钥的更换命令?
回答 1
已采纳
InnoDB使用两层加密密钥体系结构,由主密钥和表空间密钥组成。主密钥保存在钥匙环(keyring)中,表空间密钥被主密钥加密后存储在表空间头部。表空间密钥用于加密和解密表空间里的数据。为了提高安全性
怎样关闭原MySQL实例?
回答 1
已采纳
控制MySQL关闭时执行步骤的参数是innodbfastshutdown,这个参数有0、1和2三个选项,分别被称为慢关闭、快关闭和冷关闭,应将该参数设置为0后再使用如下的代码关闭MySQL实例:$my
mysql 8 yum安装,mysqld启动不了?
回答 1
你如果用默认还写defaultfile干什么?这个路径就是默认的。你换一个文件可以用defaultfile
MYSQL 一页中 16KB 好像记得 一行不能大于页的一半?
回答 1
不是不能,由于innodb采用的是B树,如果一行超过一页的一半,那么一个页里最多只能装一条记录,对于B树来说就起不到作用了。
mysql断电导致的数据损坏,然后通过innodb_force_recovery备份数据,有一个库是空的,里面没有表,如何处理?
回答 1
db下物理文件还有吗 
C++往MySQL表格插入一行数据,某个单元格里面的值类型是字符串,字符串很长。导致sql插入语句很大,插入失败。有什么解决办法吗?
回答 1
手工插入,解决语法错误