sql >> データベース >  >> RDS >> Mysql

LaravelEloquentとクエリビルダー-パフォーマンスを低下させるためにeloquentを使用する理由

    EloquentはLaravelのActiveRecordパターンの実装であり、すべての長所と短所があります。

    Active Recordは、単一のエンティティをCRUD方式で処理するための優れたソリューションです。つまり、プロパティが入力された新しいエンティティを作成し、それをデータベースに保存するか、データベースからレコードをロードするか、削除します。

    ダーティチェック(変更されたフィールドに対してのみSQL UPDATEを送信する)、モデルイベント(管理アラートを送信したり、誰かが新しいアカウントを作成したときに統計カウンターを更新したりする)、特性(タイムスタンプ、ソフト削除、カスタム特性)熱心な/遅延読み込みなど。ドメイン駆動パターンを適用して、検証、関係の管理、計算などのビジネスロジックの一部をActiveRecordエンティティに実装することもできます。

    >

    しかし、すでにご存知のように、ActiveRecordにはパフォーマンスの代償が伴います。

    1つのレコードまたはいくつかのレコードを処理する場合、心配する必要はありません。ただし、大量のレコードを読み取る場合(データグリッド、レポート、バッチ処理など)、プレーンなLaravel DB メソッドはより良いアプローチです。

    Laravelベースのアプリケーションでは、適切と思われる両方のアプローチを使用しています。 UIフォームにLaravelのEloquentを使用して、単一のレコードを処理し、DBを使用します UIテーブル、エクスポートタスクなどのデータを取得するためのメソッド(追加のデータベースエンジン固有のパフォーマンス調整を伴うSQLビューに基づく)。RESTfulAPIでもうまく機能します-GET、PUT、POST、キーを使用したDELETE、およびDB キーなしで、フィルターとソートおよびページングを使用したGETの場合。



    1. パーティションごとの結合のための高度なパーティションマッチング

    2. SQLでリレーションシップを作成する

    3. SQL ServerのPARSE()とCAST()とCONVERT()の違い:違いは何ですか?

    4. N番目に高い給与