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
转载于:https://blog.51cto.com/luohench/883433