首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高InnoDB表在MySql中的插入速度

如何提高InnoDB表在MySql中的插入速度
EN

Stack Overflow用户
提问于 2015-03-22 05:13:49
回答 1查看 285关注 0票数 0

我的任务是用随机数据填充InnoDB数据库中的两个MySql表,以便进行一些性能评估(每个表的目标是500 in )。

我已经在这两个表上放置了分区(每个分区31个,分布均匀)。在每个表中生成大约40 GB的数据之后,现在我的插入被卡在每秒150个左右的插入和表中。我相信我在服务器上的配置(120 be,40核心CPU 3 3GHz,SDA磁盘),我应该能够插入更多。

这些表上有很多索引可以使它慢下来。

我使用Ruby脚本的方式如下:

  • 在每个查询中插入具有多个值的查询
  • 在文件中写入数据,而不是执行加载数据幼稚查询。
  • 这两者的混合,每插入查询100-300个值和加载数据-infile文件中的3000行。

使用上述脚本的多个实例也不会增加表中每秒的插入。

以下是DB中的关键配置:

代码语言:javascript
复制
bulk_insert_buffer_size : 1G  
innodb_buffer_pool_size : 75G    
innodb_flush_log_at_trx_commit : 2 
innodb_doublewrite : OFF  
tx_isolation : READ-UNCOMMITTED    
foreign_key_checks : OFF    
unique_checks : OFF

请让我知道,我还能做什么来增加插入,因为我相信MySql可以处理更多的事情。我曾浏览过其他相关的帖子,并在此基础上进行了上述工作。

模式:http://pastebin.com/EaSyFX1j

EN

回答 1

Stack Overflow用户

发布于 2015-03-22 06:47:53

这取决于限制因素是什么。您说表上有许多索引。众所周知,索引会减慢插入和更新操作的速度。也许删除索引、插入数据并在之后重新创建索引(不要删除主索引和唯一索引,而是只删除常规索引)会更快。

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

https://stackoverflow.com/questions/29191244

复制
相关文章

相似问题

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