ホームページ >データベース >mysql チュートリアル >非常に大きなデータベース テーブル内の行を効率的にカウントするにはどうすればよいですか?

非常に大きなデータベース テーブル内の行を効率的にカウントするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-14 16:46:46885ブラウズ

How Can I Efficiently Count Rows in a Very Large Database Table?

大規模なデータベーステーブルの行数を正確に統計する方法

大量の行と列を含む巨大なデータベース テーブルの場合、行を正確にカウントするのは非常に時間がかかる場合があります。この場合、通常、「SELECT COUNT(*)」クエリの効率は大幅に低下します。

この記事では、データベース ベンダーに依存しないソリューションを提供します:

データベースベンダーに依存しないソリューション:

  • 標準の「COUNT(*)」を使用します。

一部のデータベース ベンダー (SQL Server など) は、行数を概算できると主張する他のソリューションを提供している場合がありますが、これらの方法は、この記事で説明するベンダー中立の方法の範囲を超えています。

補足説明 (SQL Server の例):

SQL Server データベースに 14 億行と 12 列があるテーブルの場合:

  • 「SELECT COUNT(*) FROM MyBigtable WITH (NOLOCK)」は、1,401,659,700 行をカウントするのに 5 分 46 秒かかりました。
  • 「SELECT Total_Rows= SUM(st.row_count) FROM sys.dm_db_partition_stats st WHERE object_name(object_id) = 'MyBigtable' AND (index_id...」 (完全な SQL Server サンプル コードはここでは省略されています)

以上が非常に大きなデータベース テーブル内の行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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