随机字符串问题,高手给点思路啊,谢谢。 生成完之后再检索有没有重的效率低下,最好是在生成随机数的时候的确保种子不重复。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人想法,先生成一批数据后再在数据库里检索,把所有一样的都找出来删掉 那你还不如用一个算法来生成一个随机数数组,然后每次按顺序往数据库里插值。不过如果数据量很大的话就没什么好办法了,毕竟只是4位长的字符串 方法一 先生成足够多的慢慢用select distinct top 10000 left(newid(),4) into 新表 from sysobjects a,sysobjects b用一条删一条. sysobjects是系统表,也可以是你库中任一一个表,记录越多越好,如果超过1W,也就是超过你的TOP数,就不用加两个表来查讯了 方法二 (需要测试是否能用)设计T1表,id设为索引不重复,默认值:left(newid(),4) 既然是随机的,就不能保证唯一先检查一下是否已用也是可以的。4位字母数字组合也没有多少 36!/(4!*(36-4)!)做好索引也并不慢。只是很快就会满了 【linux安装 libmcrypt 报错】 ajax 用户名验证,php页面怎么写 php调用webservice 传递参数问题 ASP对网址编码,PHP解码都用什么函数 为啥ie下载自动改扩展名?? 求助:php自动创建变量名 菜鸟举手!!PHP简单问题!!谢谢!! 在页面将报错级别设置为了E_ALL,报错也显示,但是致命错误就直接不报了,为什么 我的网站后台和前台网页访问速度相差巨大。请高手指教。 PHP中怎么用ACCESS数据库? zip_read()问题。 如何点击广告给会员加积分?
select distinct top 10000 left(newid(),4) into 新表 from sysobjects a,sysobjects b
用一条删一条. sysobjects是系统表,也可以是你库中任一一个表,记录越多越好,如果超过1W,也就是超过你的TOP数,就不用加两个表来查讯了
方法二 (需要测试是否能用)
设计T1表,id设为索引不重复,默认值:left(newid(),4)
先检查一下是否已用也是可以的。4位字母数字组合也没有多少 36!/(4!*(36-4)!)
做好索引也并不慢。只是很快就会满了