Code前端首页关于Code前端联系我们

laravel高性能从mysql数据库中随机获取n条数据

terry 2年前 (2023-09-25) 阅读数 51 #后端开发
laravel如何从mysql数据库高性能获取随机n块数据? order,从数据库中随机抽取100个用户;这样我们就必须从数据库中随机检索数据。 ? 配合使用,可用于从多行结果中选择随机部分。
SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;

那么在laravel中使用自然SQL也非常容易,如下图:

$info = DB::select('SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100');

2。使用原始表达式从数据中随机获取数据

我们知道laravel的所有原始表达式,我们可以使用 DB::raw('RAND()')从数据库中获取随机数据。同时,还可以使用orderByRaw('RAND()')从数据库中随机检索数据,与DB::raw('RAND()'效果相同) )

$info=self::where('dealing','<>','')        ->orderBy(DB::raw('RAND()'))        ->take(5)        ->get();

三.使用laravel的inRandomOrder方法随机取数据

在laravel中使用inRandomOrder会对数据结果进行随机排序,达到从数据库随机取数据的效果:

$info = DB::table('users')            ->inRandomOrder()            ->take(5)            ->get();

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门