MySql 两小时插入千万海量记录

mysql 海量存储方案部署配置

 

一、表格式为INNODB

因为MyISAM格式的单表最容量不能超过4G

二、innodb_buffer_pool_size

此属性和机器的硬件多少有关,在内存条件允许的情况下,越大起好。本单位的服务器为4G内存,所以innodb_buffer_pool_size =3G ,建议不小于服务器机内存数量的50%

三、innodb_flush_log_at_trx_commit

此属性具有三个值。

0 代表日志只大约每秒写入日志文件并且 日志文件刷新到磁盘。

1         InnoDB会在每次提交后刷新(fsyno)事务日志到磁盘上

2         代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上。

   

这里配置为0,默认值为1

 

四、不使用共享表空间,建立独立表空间

    Innodb_file_per_table=1

 

 

使用存储过程保存数据

     BEGIN

set @sql=concat('insert into'+table_name+'(id,testingPointId,grabbedData,grabbedTime)values'+sqlvalue);

prepare stmt from @sql;

execute stmt;

END  

说明:此存储过程有两个参数IN `table_name` char,IN `sqlvalue` longtext 其中sqlvalue格式如下(12,‘abc1,35,’2011-2-1’),(13,‘abc2,72,’2011-2-2’); 

 注意:sqlvalue的长度不能超过65535

 

本文出自 “灰色天空” 博客,谢绝转载!

你可能感兴趣的:(mysql,存储,插入,记录)