|
|
1
1
对于如此小的范围,如果您必须选择其中一个(而不是两者的组合),那么最好还是保留一个未使用的数字列表。好吧,这真的取决于你期望的使用上限与总的可能值成比例。 如果您期望低密度,那么生成一个随机数并对照现有的数进行检查可能是您最好的选择。您的碰撞率将足够低,不会真正影响性能。 如果您期望高密度,那么保留未使用的数字列表并从中随机选择是更好的选择,因为备选方案可能非常可怕。考虑到最坏的情况,当只剩下一个数字时,使用低密度方法意味着您必须生成并丢弃范围内一半的数字,以便有50%的机会找到未使用的数字。 最好的方法是在范围填充时切换方法;当使用50%时,您很可能会在两个随机数代中找到一个可用的数字;但是在某些完整性点(当剩余的数字很少时),最好切换。 但最好的方法是不要对ID值使用随机数;上面的例子由于需要处理竞争条件而变得更加复杂,因为多个数据库客户机可能会争夺相同的未使用的公司ID。 |
|
|
2
1
最简单的解决方案是定义
这是非常有效的,对你来说似乎很重要。此外,它是生成一系列有保证的唯一数字的标准方法,从长远来看,这将使每个人的生活更容易。真
|
|
|
3
0
用数字按随机顺序构建表。(如果有困难,我会解释。)
这将为您提供“下一个”号码,然后将其删除。事务是为了避免两个连接获得相同的号码。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |