现 SQL Server 数据库中有一批数据,根据ID来取,因数据量太大,不能排序,不能指定ID范围,因为要随机分布。
64次取完,平均分布,不能重复取。本来想着ID按1~64取模,想了想,显然不行,所有的数对1取模都成了0,而且像2和4,3和6都有倍数关系,取模不行。
其实64也可能是一个变量,最好是可以动态的。期待高手?
本也想取最小的64个素数,按这些素数取模,但无法保证这些素数可以覆盖所有整数,会存在取不完的情况。
1.是从总数总取随机64条还是将总数分64次取出来
2.ID是否是连续的.如果是连续的是否知道最大ID
你这id不能指定范围,又不能排序,那你这id长什么样啊?怎么生成的?
多谢各位,已经有了解决方案了。ID是整数,连续的,分64次取出来。我的解决方案也很简单,传入总次数(64)和当前第几次(n), where id % 64 = n 就可以了,老了,脑子不灵光了。