推薦する! LaravelでSQL文を簡単に最適化するための拡張パッケージ
下面由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/soar
- github.com/guanguans/soar-php
- github.com/huangdijia/laravel-web-soar
- github.com/wilbur-yu/hyperf-soar
- github.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文を簡単に最適化するための拡張パッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。
