刚看了osc抽奖的信息,有个疑问想请教大家一下

无聊的人们啊 发布于 2012/08/07 11:08
阅读 282
收藏 0

抽奖sql代码

mysql> SELECT id,name,ident FROM osc_users WHERE id IN (SELECT DISTINCT(`user`) FROM osc_opt_logs WHERE obj_type=100 AND appid>=3 AND TO_DAYS(create_time) = TO_DAYS(20120730)) ORDER BY rand() LIMIT 3; 

这个代码这样写执行效率怎么样?请大家给分析一下,谈谈自己的看法。

加载中
0
红薯
红薯
效率很差,但对抽奖来说无所谓,每天执行一次而已:)
无聊的人们啊
无聊的人们啊
我们有个应用,里面用了order by rand() 把应用搞的非常慢,所以对这个比较敏感,呵呵。谢谢解答
0
Andre.Z
Andre.Z
这玩意又不是常用,对系统没啥影响,能跑就好,几天之后,就可以shift+delete了的,纠结算法、效率啥的,还不如去卖烤红薯赚点外快
0
kenyon_君羊
kenyon_君羊
DB里慎用rand()
0
无聊的人们啊
无聊的人们啊

引用来自“kenyon”的答案

DB里慎用rand()
额,明白了
返回顶部
顶部