小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Mysql千萬級別數(shù)據(jù)批量插入只需簡單三步

 然并卵書屋 2017-03-06

第一步:配置my.ini文件

文件中配置

bulk_insert_buffer_size=120M 或者更大

將insert語句的長度設為最大。

Max_allowed_packet=1M

Net_buffer_length=8k

保存

第二步:查看設置的參選有沒有生效.

Mysql > SHOW VARIABLES;

Mysql千萬級別數(shù)據(jù)批量插入只需簡單三步

bulk_insert_buffer_size默認是8M,我們要把它調(diào)成100M或百兆以上,也不要太大。下面看調(diào)整個好的,如下圖:

Mysql千萬級別數(shù)據(jù)批量插入只需簡單三步

第三步:完成設置后,批量插入數(shù)據(jù)時使用多條模式。

INSERT INTO table (field1,field2,field3) VALUES ('a','b','c'), ('a','b','c'),('a','b','c');

將以上Mysql插入模式用php語言字符串拼接SQL方法如下,你也可轉(zhuǎn)換Java,Python,Golang其它你用的最順手的語言,將方法轉(zhuǎn)換分享吧:

/**

* 多條數(shù)據(jù)同時轉(zhuǎn)化成插入SQL語句

* @ CreatBy:IT自由職業(yè)者

* @param string $table 表名

* @$arr_key是表字段名的key:$arr_key=array('field1','field2','field3')

* @param array $arr是字段值 數(shù)組示例 arrat(('a','b','c'), ('bbc','bbb','caaa'),('add','bppp','cggg'))

* @return string

*/

function multArray2Insert($table,$arr_key, $arr, $split = '`') {

$arrValues = array();

if (empty($table) || !is_array($arr_key) || !is_array($arr)) {

return false;

}

$sql = 'INSERT INTO %s( %s ) values %s ';

foreach ($arr as $k => $v) {

$arrValues[$k] = '''.implode('','',array_values($v)).''';

}

$sql = sprintf($sql, $table, '{$split}' . implode('{$split} ,{$split}', $arr_key) . '{$split}', '(' . implode(') , (', array_values($arrValues)) . ')');

return $sql;

}

Mysql千萬級別數(shù)據(jù)批量插入只需簡單三步

以上方法調(diào)試過無誤的,頭條沒有代碼格式編輯器,所以發(fā)代碼圖。這段代碼的返回字符串結(jié)果是INSERT INTO table (field1,field2,field3) VALUES ('a','b','c'), ('a','b','c'),('a','b','c') ,做試驗時用的普通配置的電腦是每秒1000條批量插入速度,千萬條數(shù)據(jù)寫的速度也非??欤掳姹綪HP語言數(shù)據(jù)處理能力很強大。如果你的電腦或服務器性能高,你可以調(diào)節(jié)$arr數(shù)組決定你插入多少條數(shù)據(jù),靈活使用吧。

你可直接復制使用它,希望你能理解,若有問題請留言吧。

記得收藏這篇文章吧,我會不斷有精而巧的技術(shù)爆點給大家分享的,請關(guān)注'IT自由職者'。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多