確保不重復(fù)的情況下 給這個(gè)鍵做索引 或者 在匹配步驟上將數(shù)據(jù)庫(kù)的所有數(shù)值分批次取出存入到緩存中 利用高IO去完成匹配。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鹽亭ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鹽亭網(wǎng)站制作公司
另外 關(guān)于 7位數(shù)字的生成 可以以1000000為基礎(chǔ)去自增的形式生成。按照你的隨機(jī)數(shù)理念 越到后面count的效率越低。
1、隨機(jī)數(shù)本身就是隨機(jī)的。
2、如果有自增需求的話可以參考memcached uuid生成器,或者數(shù)據(jù)庫(kù)id自增。
3、或者預(yù)定義一個(gè)數(shù)組,然后隨機(jī)獲取數(shù)組的數(shù)據(jù),可以有效控制最后獲取的值。
//連接數(shù)據(jù)庫(kù)
if(!$con = mysql_connect("localhost","root","root")){die(mysql_error());}
mysql_select_db("ali_xt");
mysql_query('set names utf8');
//找出ali_admin表的字段
$res = mysql_query('show columns from ali_admin');
//將數(shù)據(jù)給弄出來(lái)
$data = array();
while ($row = mysql_fetch_assoc($res, MYSQL_NUM)) {
$data[] = $row;
}
//隨機(jī)個(gè)數(shù),默認(rèn)5
$rand_times = 5;
$rand_times = count($data)$rand_times?count($data):$rand_times;
$result = array();
for( $i=0;$i$rand_times;$i++ ){
$result[] = $data[rand(0,count($data)-1)][0];
}
echo "pre";
print_r($result); //輸出5個(gè)隨機(jī)字段
mysql_close($con);
//純手寫的,不明白可以問(wèn)我,記得給分