效率提升16800倍的連續(xù)整數(shù)生成方法
很多時(shí)候需要用到連續(xù)的id進(jìn)行數(shù)據(jù)對(duì)比,如判斷是否連續(xù)等問(wèn)題。那么,生成連續(xù)整數(shù)的方式有多種,首先容易想到的是逐步循環(huán),如果想生成1kw條記錄,則需要循環(huán)1kw次進(jìn)行插入,那么有沒(méi)有其他方式呢,效率相對(duì)于逐步加一有多少提升呢。帶此疑問(wèn),我們進(jìn)行一番測(cè)試。
提前創(chuàng)建一張存放記錄的表。
1、使用逐步+1遞增的循環(huán)方式
生成20W數(shù)據(jù)用時(shí)達(dá)到14min,不是一般的慢。
2、 二的N次方法插入
此方法借鑒于姜老師的書(shū)上,不過(guò)對(duì)此進(jìn)行了改造,解決輸入值與最終獲得的記錄不一致的情況。
相同的數(shù)據(jù)庫(kù)下,本次只需要0.05s,感興趣的小伙伴可以親自測(cè)一下。
Tips:
性能提升的原因在于方法1需要執(zhí)行20W次insert,而方法2是按照2的指數(shù)級(jí)插入,20W數(shù)據(jù)只需要不到20次的插入即可完成。