下面由laravel教程栏目给大家介绍在laravel中轻松容易的优化sql语句的扩展包(laravel-soar),希望对需要的朋友有所帮助!
laravel-soar – 在 Laravel 应用程序中轻松容易的优化 sql 语句的扩展包。

功能
支持基于启发式算法的语句优化支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)支持 EXPLAIN 信息丰富解读支持 SQL 指纹、压缩和美化支持 Eloquent 查询构建器方法生成 SQL 优化报告
源码链接
github.com/guanguans/laravel-soar
相关项目
github.com/XiaoMi/soargithub.com/guanguans/soar-phpgithub.com/huangdijia/laravel-web-soargithub.com/wilbur-yu/hyperf-soargithub.com/guanguans/think-soar
环境要求
laravel >= 5.5
安装
$ composer require guanguans/laravel-soar --dev -vvv
发布服务
$ php artisan vendor:publish --provider="GuanguansLaravelSoarSoarServiceProvider"
使用
门面使用示例
$sql = Member::query()->select(['id', 'nickname'])->where('id', 100)->toRawSql();Soar::score($sql); // 生成 sql 评分报告Soar::mdExplain($sql); // 生成 markdown 格式的 explain 信息解读报告Soar::htmlExplain($sql); // 生成 html 格式的 Explain 信息解读报告Soar::syntaxCheck($sql); // sql 语法检查Soar::fingerPrint($sql); // 生成 sql 指纹Soar::pretty($sql); // 美化 sqlSoar::md2html($sql); // 将 markdown 格式内容转化为 html 格式内容Soar::help($sql); // 输出 soar 帮助命令内容Soar::exec($command); // 执行任意 soar 命令
生成 sql 评分报告示例
use AppModelsMember;Member::query() ->select([ 'id', 'nickname', ]) ->where('id', 100) // ->toSoarScore() // 生成 sql 评分报告 // ->dumpSoarScore() // 打印 sql 评分报告 ->ddSoarScore() // 打印 sql 评分报告,并且退出应用程序。;

// 查询构建器使用示例DB::table('yb_member') ->select('*') ->join('yb_member_account as yb_member_account', 'yb_member_account.member_id', '=', 'yb_member.id') ->whereRaw('1 1') ->where('yb_member.nickname', 'like', 'admin') ->where('yb_member.username', 'like', '%admin%') ->whereRaw("substring(yb_member.username, 1, 5) = 'admin'") ->whereIn('yb_member.id', [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120]) ->orWhereNotNull('yb_member.realname') ->groupByRaw("yb_member.status, '100'") ->having('yb_member.id', '>', '100') ->inRandomOrder() // ->toSoarScore() // 生成 sql 评分报告 // ->dumpSoarScore() // 打印 sql 评分报告 ->ddSoarScore() // 打印 sql 评分报告,并且退出应用程序。;

豆包AI编程
豆包推出的AI编程助手
483 查看详情
生成 explain 信息解读报告示例
// 查询构建器使用示例DB::table('yb_member') ->select('*') ->join('yb_member_account as yb_member_account', 'yb_member_account.member_id', '=', 'yb_member.id') ->whereRaw('1 1') ->where('yb_member.nickname', 'like', 'admin') ->where('yb_member.username', 'like', '%admin%') ->whereRaw("substring(yb_member.username, 1, 5) = 'admin'") ->whereIn('yb_member.id', [110, 120]) ->orWhereNotNull('yb_member.realname') ->groupByRaw("yb_member.status, '100'") ->having('yb_member.id', '>', '100') ->inRandomOrder() // ->toSoarHtmlExplain() // 生成 explain 信息解读报告 // ->dumpSoarHtmlExplain() // 打印 explain 信息解读报告 ->ddSoarHtmlExplain() // 打印 explain 信息解读报告,并且退出应用程序。;

美化 sql 语句
// 查询构建器使用示例DB::table('yb_member') ->select('*') ->join('yb_member_account as yb_member_account', 'yb_member_account.member_id', '=', 'yb_member.id') ->whereRaw('1 1') ->where('yb_member.nickname', 'like', 'admin') ->where('yb_member.username', 'like', '%admin%') ->whereRaw("substring(yb_member.username, 1, 5) = 'admin'") ->whereIn('yb_member.id', [110, 120]) ->orWhereNotNull('yb_member.realname') ->groupByRaw("yb_member.status, '100'") ->having('yb_member.id', '>', '100') ->inRandomOrder() // ->toSoarPretty() // 生成美化后的 sql // ->dumpSoarPretty() // 打印美化后的 sql ->dumpSoarPretty() // 打印美化后的 sql,并且退出应用程序。;
《相关推荐:最新的五个Laravel视频教程》
以上就是推荐!在Laravel中轻松容易的优化sql语句的扩展包的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/231408.html
微信扫一扫
支付宝扫一扫