成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MySQL隨機(jī)選取資源--優(yōu)化

接前文:
http://blog.itpub.net/29254281/viewspace-2120294/

前文中,Order by rand()在數(shù)據(jù)量大的時(shí)候,會(huì)有一些性能問(wèn)題.

  1. set autocommit=false;  
  2. set @roomid:=-1;  
  3. select   
  4.     min(roomid) into @roomid  
  5. from  
  6.     room_info  
  7. where  
  8.     roomid >   
  9.     (  
  10.         select   
  11.             floor(max(roomid) * rand() + 1)  
  12.         from  
  13.             room_info  
  14.     )  
  15.     and state = 1;  
  16.   
  17. update room_info   
  18. set   
  19.     state = 2  
  20. where  
  21.     roomid =@roomid  
  22.     and state = 1;  
  23.         
  24. select @roomid;    
  25.   
  26. commit;  

優(yōu)化的方式就是從最大的ID,隨機(jī)選取一個(gè)值。
這樣避免了排序.
但是應(yīng)用程序還是需要判斷,Update的影響行數(shù)是否為0.如果為0,則需要再次調(diào)用.

大招版本:
  1. set autocommit=false;    
  2. set @roomid:=-1;    
  3. select max(roomid) into @roomid from room_info;    
  4. set @roomid:=floor(rand()*@roomid+1);  
  5. update room_info     
  6. set     
  7.     state = 2    
  8. where    
  9. roomid =    
  10. coalesce    
  11. (    
  12.     (select roomid from (select min(roomid) roomid from room_info where state=1 and roomid > @roomid) a),    
  13.     (select roomid from (select max(roomid) roomid from room_info where state=1 and roomid < @roomid) b)    
  14. )    
  15. and state = 1 and @roomid:=roomid;    
  16.           
  17. select @roomid;      
  18.     
  19. commit;    

標(biāo)題名稱:MySQL隨機(jī)選取資源--優(yōu)化
當(dāng)前地址:http://jinyejixie.com/article10/ggicgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、手機(jī)網(wǎng)站建設(shè)、外貿(mào)建站網(wǎng)站維護(hù)、定制開(kāi)發(fā)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
周宁县| 延庆县| 台湾省| 莱州市| 嵩明县| 淮滨县| 灌南县| 江西省| 朝阳区| 广元市| 南陵县| 嵊州市| 盈江县| 富锦市| 新乡县| 彭水| 平阴县| 吴旗县| 敦化市| 阜南县| 岳阳市| 祥云县| 南宫市| 莱西市| 洛宁县| 五指山市| 山东| 南和县| 秦皇岛市| 宁阳县| 沁阳市| 嘉定区| 肇东市| 白沙| 墨竹工卡县| 神池县| 绥芬河市| 绥滨县| 荔浦县| 梁山县| 德惠市|