一種快速在自定義表中生成大數(shù)據(jù)的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)
技術(shù)領(lǐng)域:
,特別涉及一種快速在自定義表中生成大數(shù)據(jù)的方法?!?br>背景技術(shù):
】[0002]MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),內(nèi)存表使用哈希散列索引把數(shù)據(jù)保存在內(nèi)存中,因此具有極快的速度;如果能用于自定義格式表格的數(shù)據(jù)處理,將極大地提升數(shù)據(jù)處理的效率。【
發(fā)明內(nèi)容】[0003]本發(fā)明解決的技術(shù)問(wèn)題在于提供一種快速在自定義表中生成大數(shù)據(jù)的方法,解決了快速在自定義表中生成大數(shù)據(jù)的問(wèn)題。[0004]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案是:[0005]所述的方法根據(jù)mysql內(nèi)存表插入速度快的特點(diǎn),首先利用函數(shù)和存儲(chǔ)過(guò)程在內(nèi)存表中生成數(shù)據(jù),然后再?gòu)膬?nèi)存表將數(shù)據(jù)插入自定義表中,從而快速在自定義表中生成大數(shù)據(jù)。[0006]所述的方法包含以下幾個(gè)步驟:[0007]步驟一、創(chuàng)建自定義表userlnfo;[0008]步驟二、倉(cāng)ll建與自定義表相同的內(nèi)存表userInfo_memory;[0009]步驟三、實(shí)現(xiàn)在內(nèi)存表中生成大數(shù)據(jù)的函數(shù)rand_struserid和存儲(chǔ)過(guò)程add_userInfo_memory,并要求userid是18位,由字母和數(shù)字隨機(jī)組成;[0010]步驟四、調(diào)整系統(tǒng)內(nèi)存,設(shè)置內(nèi)存參數(shù)max_heap_table_size為5000M;[0011]步驟五、調(diào)用存儲(chǔ)過(guò)程add_userInfo_memory,在內(nèi)存表中生所需要的大數(shù)據(jù);[0012]步驟六、采用SQL語(yǔ)句把數(shù)據(jù)從內(nèi)存表中插入到自定義表中。[0013]本發(fā)明的有益效果:根據(jù)mysql內(nèi)存表插入速度快的特點(diǎn),首先利用函數(shù)和存儲(chǔ)過(guò)程在內(nèi)存表中生成數(shù)據(jù),然后再?gòu)膬?nèi)存表把數(shù)據(jù)插入自定義表中,從而達(dá)到快速在自定義表中生成大數(shù)據(jù)的目的?!靖綀D說(shuō)明】[0014]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明:[0015]圖1為本發(fā)明的方法流程圖?!揪唧w實(shí)施方式】[0016]如圖1所示,本發(fā)明采用如下步驟,本發(fā)明根據(jù)mysql內(nèi)存表插入速度快的特點(diǎn),首先利用函數(shù)和存儲(chǔ)過(guò)程在內(nèi)存表中生成數(shù)據(jù),然后再?gòu)膬?nèi)存表把數(shù)據(jù)插入自定義表中,從而達(dá)到快速在自定義表中生成大數(shù)據(jù)的目的。[0017]步驟一、倉(cāng)ll建自定義表userlnfo;如:[0018]createtable'userinfo'([0019]'id'int(4)NOTNULLauto_increment,[0020]'userid'varchar(20)NOTNULL,[0021]'username'varchar(20)NOTNULL,[0022]'createtime'datetimeNOTNULL,[0023]PRIMARYKEY('id')[0024])ENGINE=InnoDBDEFAULTCHARSET=utf8;[0025][0026][0027]步驟二、創(chuàng)建與自定義表相同的內(nèi)存表;[0028]createtableuserInfo_memory([0029]'id'INT(11)NOTNULLAUT0_INCREMENT,[0030]'userid'varchar(20)NOTNULL,[0031]'username'varchar(20)NOTNULL,[0032]'createtime'datetimeNOTNULL,[0033]PRIMARYKEY('id')[0034])ENGINE=MEMORYDEFAULTCHARSET=utf8;[0035]步驟三、實(shí)現(xiàn)在內(nèi)存表中生成大數(shù)據(jù)的函數(shù)和存儲(chǔ)過(guò)程,并要求userid是18位,由字母和數(shù)字隨機(jī)組成。[0036][0038]步驟四、調(diào)整系統(tǒng)內(nèi)存,設(shè)置內(nèi)存參數(shù)max_heap_table_size[0039]使用內(nèi)存的大小通過(guò)My.cnf中的max_heap_table_size指定,設(shè)定max_heap_table-size=5000M,[0040]步驟五、調(diào)用存儲(chǔ)過(guò)程,在內(nèi)存表中生所需要的大數(shù)據(jù);[0041]cal1add-userInf〇-memory(999999)[0042]步驟六、采用SQL語(yǔ)句把數(shù)據(jù)從內(nèi)存表中插入到自定義表中^[0043]insertintouserlnfoselect氺fromuserInfo-memory〇【主權(quán)項(xiàng)】1.一種快速在自定義表中生成大數(shù)據(jù)的方法,其特征在于:所述的方法根據(jù)mysql內(nèi)存表插入速度快的特點(diǎn),首先利用函數(shù)和存儲(chǔ)過(guò)程在內(nèi)存表中生成數(shù)據(jù),然后再?gòu)膬?nèi)存表將數(shù)據(jù)插入自定義表中,從而快速在自定義表中生成大數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的一種快速在自定義表中生成大數(shù)據(jù)的方法,其特征在于:所述的方法包含以下幾個(gè)步驟:步驟一、創(chuàng)建自定義表userlnfo;步驟二、倉(cāng)ll建與自定義表相同的內(nèi)存表userInfo_memory;步驟三、實(shí)現(xiàn)在內(nèi)存表中生成大數(shù)據(jù)的函數(shù)rand_struserid和存儲(chǔ)過(guò)程add_userInfo_memory,并要求userid是18位,由字母和數(shù)字隨機(jī)組成;步驟四、調(diào)整系統(tǒng)內(nèi)存,設(shè)置內(nèi)存參數(shù)max_heap_table_size為5000M;步驟五、調(diào)用存儲(chǔ)過(guò)程add_userInfo_memory,在內(nèi)存表中生所需要的大數(shù)據(jù);步驟六、采用SQL語(yǔ)句把數(shù)據(jù)從內(nèi)存表中插入到自定義表中。【專(zhuān)利摘要】本發(fā)明涉及數(shù)據(jù)庫(kù)
技術(shù)領(lǐng)域:
,特別涉及一種快速在自定義表中生成大數(shù)據(jù)的方法。本發(fā)明的方法根據(jù)mysql內(nèi)存表插入速度快的特點(diǎn),首先利用函數(shù)和存儲(chǔ)過(guò)程在內(nèi)存表中生成數(shù)據(jù),然后再?gòu)膬?nèi)存表將數(shù)據(jù)插入自定義表中,從而快速在自定義表中生成大數(shù)據(jù)。本發(fā)明解決了快速在自定義表中生成大數(shù)據(jù)的問(wèn)題;可用于表格的數(shù)據(jù)處理?!綢PC分類(lèi)】G06F17/30【公開(kāi)號(hào)】CN105373623【申請(qǐng)?zhí)枴緾N201510901705【發(fā)明人】張來(lái)卿,徐震宇,季統(tǒng)凱【申請(qǐng)人】國(guó)云科技股份有限公司【公開(kāi)日】2016年3月2日【申請(qǐng)日】2015年12月8日