mysql innodb vs myisam插入
我有一张1700万行的表.我需要抓取该表的1列并将其全部插入到另一个表中.这是我做的:
InnoDB大约需要3分45秒 但是,MyISAM仅在4秒内执行.为什么不同? 我看到每个人都赞扬InnoDB但老实说我不知道??它对我来说有多好.它慢得多.我知道它对于完整性和诸如此类的东西很有用,但我的许多表都不会被更新(只是阅读).我应该打扰InnoDB吗? 最佳答案 差异很可能是由于innoDB的配置,比myISAM需要更多的调整. innoDB的想法是将大部分数据保存在内存中,只有在有几个备用cpu周期时才刷新/读取到磁盘.如果你甚至打扰InnoDB是一个非常好的问题.如果您要继续使用MySQL,强烈建议您获得InnoDB的一些经验.但是如果你为一个不会看到大量流量并且不担心规模的数据库做一个快速而肮脏的工作,那么MyISAM的易用性可能只是你的胜利.在许多人只想要一个简单的数据库的情况下,InnoDB可能会有些过分.
如果您正在进行99%的阅读,您仍然可以从InnoDB获得性能提升.如果您将缓冲池大小配置为将整个数据库保存在内存中,InnoDB将永远不必转到磁盘来获取您的数据,即使它错过了mysql查询缓存. InnoDB的缓冲池大小 我的第一个猜测是检查innodb_buffer_pool_size,它开箱即用,设置为8M.建议大约占总内存的80%.一旦达到该限制,innodb性能将显着下降,因为它需要从缓冲区中清除一些东西以便为新数据腾出空间,这可能很昂贵 自动提交= 0 加载表通常只发生一次 MyISAM如何看待此操作 InnoDB如何看待这个操作 必读: (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |