效率提升16800倍的連續整數生成方法
作者:數據庫干貨鋪
性能提升的原因在于方法1需要執行20W次insert,而方法2是按照2的指數級插入,20W數據只需要不到20次的插入即可完成。
很多時候需要用到連續的id進行數據對比,如判斷是否連續等問題。那么,生成連續整數的方式有多種,首先容易想到的是逐步循環,如果想生成1kw條記錄,則需要循環1kw次進行插入,那么有沒有其他方式呢,效率相對于逐步加一有多少提升呢。帶此疑問,我們進行一番測試。
提前創建一張存放記錄的表。
1、使用逐步+1遞增的循環方式
生成20W數據用時達到14min,不是一般的慢。
2、 二的N次方法插入
此方法借鑒于姜老師的書上,不過對此進行了改造,解決輸入值與最終獲得的記錄不一致的情況。
相同的數據庫下,本次只需要0.05s,感興趣的小伙伴可以親自測一下。
Tips:
性能提升的原因在于方法1需要執行20W次insert,而方法2是按照2的指數級插入,20W數據只需要不到20次的插入即可完成。
責任編輯:姜華
來源:
今日頭條