首页 > 试题广场 >

数据库索引介绍一下。介绍一下什么时候用Innodb什么时候用

[问答题]
请介绍一下,数据库索引,以及,什么时候用Innodb什么时候用MyISAM。

水平:用一个表拆到不同的数据库
垂直:专库专用,业务拆分,不用的表拆到不同的数据库

发表于 2020-04-27 11:33:40 回复(0)
  • Myisam和InnoDB的区别
    • myisam:性能极佳,但是不支持事务和行级锁,崩溃后无法安全恢复
    • 所以:去读操作频繁且不在乎崩溃后是否能恢复
    • innodb:(事务性数据库引擎),大多数情况下使用的引擎,不支持全文索引
    • 所以:要求事务和行级锁,要求全文索引时使用
发表于 2020-04-13 21:24:14 回复(0)
用户提问 数据库 何时使用MyISAM和InnoDB? MyISAM的设计理念是:你的数据库被查询得远远超过其更新,因此它执行非常快速的读取操作。如果你的读写比例(插入|更新)小于15%,则最好使用MyISAM。 InnoDB使用行级锁定,提交,回滚和崩溃恢复功能来保护用户数据。它支持事务和容错 MyISAM和InnobDB之间的上述差异是否正确?如果MYISAM和InnobDB有任何其他限制,请指导。我应该何时使用MyiSAM或Innodb?谢谢! 关注问题 写回答 2 个回答 热门排序 用户回答 MyISAM数据: MySQL中的MyISAM存储引擎。 设计和创建更简单,因此对初学者更好。不用担心表格之间的外部关系。 整体而言,由于结构更简单,服务器资源成本更低,因此总体上比InnoDB更快。 - 大部分不再是真的。 全文索引。 - InnoDB现在拥有它 特别适合读密集(选择)表格。 - 大部分不再是真的。 磁盘占用空间比InnoDB少2至3倍。 - 从5.7版本开始,这可能是MyISAM唯一的真正优势。 InnoDB的: MySQL中的InnoDB存储引擎。 支持交易(为您提供对ACID资产的支持)。 行级锁定。与例如MyISAM相比,拥有更细粒度的锁定机制可为您提供更高的并发性。 外键约束。允许您让数据库确保数据库状态的完整性以及表之间的关系。 InnoDB比MyISAM更能抵抗表损坏。 支持数据和索引的大型缓冲池。MyISAM密钥缓冲区仅用于索引。 MyISAM停滞不前; 所有未来的增强将在InnoDB中进行。随着8.0版的推出,这一点非常明确。 MyISAM限制: 没有外键和级联删除/更新 没有交易完整性(符合ACID) 没有回滚能力 4,284,867,296行限制(2 ^ 32) - 这是旧的默认值。可配置的限制(对于许多版本)是2 ** 56字节。 每个表最多有64个索引 InnoDB限制: 没有全文索引(低于5.6的mysql版本) 无法压缩为快速,只读(5.5.14介绍ROW_FORMAT=COMPRESSED) 您无法修复InnoDB表
发表于 2019-01-14 08:40:39 回复(0)