問(wèn)題描述:
普通臺(tái)式機(jī),采集數(shù)據(jù),表中已經(jīng)有>1000萬(wàn)數(shù)據(jù)量。
采集回來(lái)的數(shù)據(jù)插入表中的時(shí)候很慢,每條約100毫秒。
解決方法:
1、加大mysql配置中的bulk_insert_buffer_size,這個(gè)參數(shù)默認(rèn)為8M
bulk_insert_buffer_size=100M
2、改寫(xiě)所有insert語(yǔ)句為insert delayed
這個(gè)insert delayed不同之處在于:立即返回結(jié)果,后臺(tái)進(jìn)行處理插入。
還有一個(gè)技巧是在一跳insert中插入多條數(shù)據(jù),類(lèi)似insert into tablename values('xxx','xxx'),('yyy','yyy'),('zzz','zzz')...;但是在我采集程序中改sql比較麻煩,故未采用
腳本之家小編提醒:
說(shuō)實(shí)話(huà)一般主要用于數(shù)據(jù)的采集入庫(kù)操作,成熟的cms不建議修改,dedecms是由于本人的系統(tǒng)設(shè)計(jì)問(wèn)題,建議使用商業(yè)版或自行建立索引等,現(xiàn)在大數(shù)據(jù)首選帝國(guó)cms或phpcms。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄