首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL innodb还是myisam?对于这种情况,哪一个是最好的?

MYSQL innodb还是myisam?对于这种情况,哪一个是最好的?
EN

Stack Overflow用户
提问于 2011-10-19 19:35:23
回答 2查看 221关注 0票数 1

我真的不知道应该为我的表选择哪种类型的数据库引擎。

代码语言:javascript
复制
+-----------------------+
| id | userid | content |
+-----------------------+

想象一下这张桌子。userid保存存储在另一个表中的用户is。另外,其他一些表也在使用该表的id字段。因此,我认为将id设置为主键,将userid设置为外键可以加快连接过程。但是,如果我选择我的表作为InnoDB来设置外键,那么我就不能对内容(这是一个文本字段)进行全文搜索。

因此,基本上,如果我切换回MyISAM来使用全文搜索,那么在连接3-4个数亿行的表时会出现问题吗?

PS:如果有另外一种可行的方法来创建同时处理连接和全文的表,请告诉我,我也可以改变表的结构。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-09 18:28:05

InnoDB比MyISAM具有更好的伸缩性。如果你谈论的是数以亿计的行,那就使用InnoDB,改用一个搜索引擎。AFAIK,FULLTEXT在某一点后变得非常慢。因此,选择InnoDB +一个你选择的搜索引擎。

票数 1
EN

Stack Overflow用户

发布于 2011-10-19 20:02:10

看看这个问题的答案:Fulltext Search with InnoDB

简而言之,当您对整个表进行写入时,MyISAM会锁定整个表,因此当您对该表进行大量写入时,这将对性能造成不良影响。解决方案是使用InnoDB表实现引用完整性,并使用专用搜索引擎对内容进行索引/搜索(例如Lucene)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7820691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档