程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 活用數據記錄的id對數據進行隨機批量更新

活用數據記錄的id對數據進行隨機批量更新

編輯:關於MYSQL數據庫
 在設計隨機模板功能時,有一項功能是用戶對現在的內容進行隨機指定模板,按以往的算法,只能用如下方式去弄:
    首先從數據庫裡讀出所有的記錄,然後通過PHP隨機獲得一個模板名,然後對當前的記錄進行更新,這樣就需要遍歷一次數據庫,有多少條記錄就進行多少次Update操作,顯然是效率很低下的一種方法,MySQL本身沒的提供隨機更新的方式,但可以利用一定的技巧達到這目的。
大家可以分析下面這個段程序:
$totalTmp = count($tamplate_arr);
for($i=0; $i < 10; $i++)
{
$temp = $tamplate_arr[mt_rand(0, $totalTmp)];
$dsql->ExecuteNoneQuery(" Update `ddmx_addonarticle` set templet='$temp' where RIGHT(aid, 1)='$i' ");
}
    按這種方式,同樣達到了隨機的目的,當然缺點就是沒前者那麼混亂,如果想要更混亂些,可以通過這原理多設置一些種子數,例如說把RIGHT(aid, 2)='$i' 取到兩位,然後並不按10-99這樣去更新,而是從中抽出上部份進行更新,這樣就基本上達到了目的,但執行性能方面,遠遠優於前者。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved