下面由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=guanguans\\laravelsoar\\soarserviceprovider
使用门面使用示例$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); // 美化 sql\soar::md2html($sql); // 将 markdown 格式内容转化为 html 格式内容\soar::help($sql); // 输出 soar 帮助命令内容\soar::exec($command); // 执行任意 soar 命令
生成 sql 评分报告示例use app\models\member;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 评分报告,并且退出应用程序。;
生成 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语句的扩展包的详细内容。
