jch*_*360 6 mysql innodb myisam storage-engine full-text-search
我很困惑我应该选择哪个 mysql 引擎(让我们谈谈最常用的:MyISAM 和 InnoDB)。
理论说:
当我创建一个表时,如果我想保持完整性并且我想加快通过“文本”进行搜索的查询,我应该总是牺牲一些东西吗?
如果需要,您如何决定使用哪种引擎
两者都适用于 b-tree 索引,但 MyISAM 也可以使用 FULLTEXT 索引。
MySQL 5.6 也应该支持 FULLTEXT 索引。当它进行 GA 时寻找它。
InnoDB 对数据完整性更严格,而 MyISAM 是松散的
InnoDB 有事务,而 MyISAM 没有。
InnoDB 有外键和关系约束,而 MyISAM 没有。
鉴于 InnoDB 通过MVCC支持事务隔离这一事实,这是正确的。这在某种程度上使 InnoDB 完全符合ACID。
MyISAM 读取速度更快但写入速度更慢(我不确定这个)
这完全取决于 MyISAM 表的行格式(固定或动态)。慢是相对的。毕竟,针对 MyISAM 的每个 DML 语句每次都会执行全表锁定。
给定足够大的缓存,InnoDB 可以更快地读取和写入,因为 COMMIT 可以延迟。这使得已经缓存在 InnoDB 缓冲池中的数据可用于从内存中读取。
InnoDB 缓存数据和索引,而 MyISAM 只缓存索引。因此,始终需要从 MyISAM 读取数据的磁盘。
归档时间: |
|
查看次数: |
3580 次 |
最近记录: |