ホームページ >バックエンド開発 >PHPチュートリアル >WHERE IN 句でサブクエリを使用して Laravel クエリを最適化する方法

WHERE IN 句でサブクエリを使用して Laravel クエリを最適化する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-09 13:46:18714ブラウズ

How to Optimize Laravel Queries Using Subqueries in WHERE IN Clauses?

Laravel のサブクエリ WHERE IN 句

Laravel では、ID フィールドがサブクエリに含まれるデータを取得するクエリを作成できます。効果的に達成されました。 JOIN 操作でも十分ですが、この記事では WHERE IN 句内でサブクエリを使用することによるパフォーマンスの最適化に焦点を当てています。

次のクエリを考えてみましょう:

SELECT `p`.`id`, `p`.`name`, `p`.`img`, `p`.`safe_name`, `p`.`sku`, `p`.`productstatusid` 
FROM `products` p
WHERE `p`.`id` IN (
    SELECT `product_id` 
    FROM `product_category`
    WHERE `category_id` IN ('223', '15')
)
AND `p`.`active`=1

Laravel でこのクエリを複製するには、次のコードを利用します:

Products::whereIn('id', function($query){
    $query->select('paper_type_id')
    ->from(with(new ProductCategory)->getTable())
    ->whereIn('category_id', ['223', '15'])
    ->where('active', 1);
})
->get();

WHERE 内にサブクエリを組み込むことによってIN 句を使用すると、このステートメントは必要な検索および取得操作を効率的に実行します。このアプローチは、データベース呼び出しを最小限に抑えることが重要なパフォーマンス重視のアプリケーションにとって特に有益です。

以上がWHERE IN 句でサブクエリを使用して Laravel クエリを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。