Django中从数据库中随机取N条记录的不同方法

经过性能测试,最后的总结是:

1、Django下,使用mysql数据库,数据量在百万级以下时,使用

Record.objects.order_by('?')[:2]

2、百万级以上来获取随机记录序列,则使用

sample = random.sample(xrange(Record.objects.count()),n)  
result = [Record.objects.all()[i]) for i in sample]


评论