[英]mysql - MyISAM or InnoDB - Join speed vs Lookup speed
在关闭之前,请先阅读问题作为重复的pl。,因为对此有很多疑问,但至少我没有找到想要的东西。
现在清楚的是:
MyIsam is faster at searching strings (much faster)
InnoDB is faster at joins (much faster)
所以我的问题是这样的:我有以下设置:
两个表,假设t1的blan
id
, bla1
, bla2
,..., blan
; 和t2具有列t1Id
, extra1
, extra2
,..., extran
。
表1(t1)是InnoDB(需要进行事务处理,这很清楚)。 表2(t2)始终与t1一起使用(某些情况下是额外的数据),因此在t2出现的位置之间始终存在连接。 那将指向InnoDB。 问题是在连接之后,还将(总是)搜索其中一列内的字符串。 这将指向MyISAM。
获得时间的时间显然是加入时间和搜索时间之间的总和。 问题是,如果我优化一个,我会使另一个变慢。
值得一提的事实:表确实非常大,t2永远不需要事务,行锁或通常需要使用InnoDB的任何东西。
有什么更好的选择? MyISAM还是InnoDB?
可以肯定地说的唯一方法是创建两个表,向它们加载示例数据并衡量您的查询。
通常,我建议您使用InnoDB:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.