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

LIMITを使用してMySQLの結果の総数を見つけるためのDoctrineクエリ

    2.2に組み込まれているページネーション機能があり、探しているものと同様のことを行います。

    https://www.doctrine -project.org/projects/doctrine-orm/en/latest/tutorials/pagination.html#pagination

    しかし、私はそれがSQL_CALC_FOUND_ROWSを使用しているとは思わない :結果を取得するために2つ(または構成方法によっては3つ)の個別のクエリを実行します。これが正しい方法であることがよくあります。

    MySQL機能の使用を本当に主張する場合は、生のSQLと結果セットのマッピングを使用する必要があると思います。次に例を示します:

    Doctrine2の行数

    完全に別のメモで、SQL_CALC_FOUND_ROWSかどうかをテストします 実際には、特定のクエリに使用する価値があります。カウントは、MySQLで、実行しているようなクエリ用に最適化されています。特にこの質問を参照してください:

    どちらが最速ですか? SELECT SQL_CALC_FOUND_ROWS FROM `table`、またはSELECT COUNT(*)



    1. JDBC、MySQL:ビットをBIT(M!=1)列に入れる

    2. Azure SQLデータベースのDTUとは何か、必要な量を把握する方法

    3. MySQLデータベースのすべてのテーブルのフィールドでテキストを検索する

    4. プロアクティブなSQLServerヘルスチェック、パート4:エラーログ