ホームページ > データベース > mysql チュートリアル > SELECT COUNT() と mysql_num_rows(): 大規模なテーブルにはどちらが適していますか?

SELECT COUNT() と mysql_num_rows(): 大規模なテーブルにはどちらが適していますか?

Mary-Kate Olsen
リリース: 2024-11-04 07:26:02
オリジナル
496 人が閲覧しました

SELECT COUNT() vs mysql_num_rows(): Which is Better for Large Tables?

大きなテーブルでの SELECT COUNT() と mysql_num_rows() の比較

データベース管理では、大きなテーブルを操作する場合、パフォーマンスの最適化が非常に重要です。行のカウントに関しては、SELECT COUNT() と mysql_num_rows() の 2 つのメソッドがよく使用されます。

SELECT COUNT()

SELECT COUNT() はカウントです。 -only 指定された条件に一致する行の数を返すクエリ。大規模なテーブルで使用すると、結果セット全体を取得し、mysql_num_rows().

mysql_num_rows()

mysql_num_rows() を使用して自分でカウントするよりも大幅に高速になる可能性があります。は、結果セット内の行数を返す関数です。ただし、この関数を使用するには、データベースから結果セット全体を取得する必要があるため、リソースが大量に消費され、テーブルが大きい場合には時間がかかる可能性があります。

検索結果のページ分けのソリューション

大きなテーブルがあり、検索結果をページ分割する必要があるシナリオでは、代わりに SELECT COUNT() を使用するのが最善です。 mysql_num_rows().

SELECT COUNT() によるパフォーマンスの最適化方法

  • メモリ消費量の削減: SELECT COUNT() はメモリを次のメモリにのみ割り当てます。カウント結果を保存し、メモリを最小限に抑えるオーバーヘッド。
  • 最適化された処理: サーバーはクエリを別の方法で処理し、結果セット全体の取得と転送というコストのかかるタスクを回避します。

コードSELECT COUNT() の使用例ページネーション

<code class="php">$condition = " fname='rinchik' ";
$rowCount = "SELECT COUNT(id) FROM my_large_table WHERE" . $condition;
$result = "SELECT * FROM my_large_table WHERE" . $condition . " LIMIT " . ($page - 1) * $pageSize . ", " . $pageSize;</code>
ログイン後にコピー

SELECT COUNT() を使用して行数を個別に取得することで、ページネーション メカニズムのパフォーマンスを最適化できます。

以上がSELECT COUNT() と mysql_num_rows(): 大規模なテーブルにはどちらが適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート