のヒープテーブルとクラスター化テーブルの4つの顕著な違い SQL Server

今すぐ共有:

次の記事では、ヒープテーブルとクラスター化テーブルの主な違いについて説明します。

でテーブルを操作している間 SQL Server、ユーザーは、クラスター化テーブルまたはヒープテーブルを使用するというジレンマに直面することがよくあります。 クラスター化インデックスを持たないテーブルはヒープテーブルと呼ばれ、クラスター化インデックスを持つテーブルはクラスター化テーブルと呼ばれます。 クラスター化インデックスは、基本的に、レコードがテーブルに物理的に格納される方法を並べ替えます。 データページは、クラスター化インデックスのリーフノードに含まれています。

ヒープテーブルとクラスター化テーブルの違い

この記事では、これらXNUMXつのテーブルタイプについてより詳細に説明しています。

クラスター化されたヒープテーブル

クラスター化テーブルは、ユーザーがインデックスを使用してヒープテーブルよりもすばやく行を検索し、クラスター化インデックスを再構築することでデータ/レコードを物理的に格納するのに役立つため、ヒープテーブルよりも多くの利点をユーザーに提供します。

データ内のテーブルに対してさらにINSERT、DELETE、およびUPDATEアクティビティがある場合、物理データが断片化する可能性があります。 クエリを実行すると、部分的に完全なページが増えたため、さらに数ページを読み取る必要があるため、断片化されたデータが無駄で望ましくないスペースに追加される可能性があることが知られています。 データの断片化の問題を解決する方法を見つけましょう。

ヒープテーブルとクラスター化テーブルの違い

フラグメンテーションの問題は、テーブルにクラスター化インデックスを含める必要があるかどうかを判断することで解決できます。 結局のところ、テーブルの物理ストレージを規制するのはクラスター化インデックスまたはヒープインデックスです。 データベース内のすべてのテーブルは、XNUMXつのタイプのインデックスのみを持つことができます。 選択するには、次のXNUMXつの基本的な違いを理解する必要があります。

  1. ヒープでは、データの格納に順序はありませんが、クラスター化では、データの格納にはクラスター化インデックスキーに応じた順序があります。 
  2. データページはヒープではリンクされていませんが、クラスター化されたテーブルではリンクされており、より高速なシーケンシャルアクセスが可能です。
  3. sys.indexesカタログビューのヒープには0のindex_id値があり、クラスターには1つのindex_id値があります
  4. クラスター化インデックスキーがあるため、クラスター化インデックスはヒープテーブルよりも高速にデータを取得します

フラグメンテーション

クラスター化テーブルとヒープテーブルの違いに基づいて、断片化の問題を解決できます。 断片化は、INSERT、DELETE、およびUPDATEアクティビティの使用が原因で発生します。 ただし、ヒープテーブルがあり、INSERTアクティビティしかない場合、フラグメンテーションは発生しません。 シーケンシャルインデックスキー(Identity Value)を使用していて、INSERTSしかない場合、クラスター化インデックスは断片化されません。 ただし、多くのINSERTSまたはDELETESを使用すると、テーブルが断片化されます。

したがって、インデックスキーに依存し、消費するスペースが少ないため、クラスター化インデックスを使用することをお勧めします。 新しいレコードは、使用可能な空き領域の既存のページに書き込むことができます。

ヒープテーブルまたはクラスター化テーブルのいずれかの使用を決定するには、DBCC SHOWCONTIGまたは新しいDMVを実行してみることもできます。これらのコマンドは両方とも、テーブルの断片化の問題に関する洞察を提供します。 クラスター化テーブルでは、クラスター化インデックスを再編成または再構築することで断片化を解決できます。    

への投資 SQL Server 修理 MSを使用する企業にとってツールは必須です SQL Server 本番サーバー上のデータベース。 実際、データベースがクラッシュした場合に命を救うことができます。

著者紹介:

ビクターサイモンは、のデータ復旧の専門家です DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdbを修復します およびSQL回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 https://www.datanumen.com/

今すぐ共有:

「ヒープ テーブルとクラスター化テーブルの 4 つの顕著な違い」への XNUMX 件の回答 SQL Server 

コメントを残す

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *