の違いについて教えてくださいテーブルのスキャンおよびクラスタ化されたインデックススキャン?

StackOverflow https://stackoverflow.com/questions/18764

  •  09-06-2019
  •  | 
  •  

質問

以来、両 Table ScanClustered Index Scan 基本的にスキャンするすべての記録は、テーブルは、そのクラスタ化されたインデックススキャンのはずです。

一例として-その性能差がありましたら下記まで多くの記録を照査していますか。:

declare @temp table(
    SomeColumn varchar(50)
)

insert into @temp
select 'SomeVal'

select * from @temp

-----------------------------

declare @temp table(
    RowID int not null identity(1,1) primary key,
    SomeColumn varchar(50)
)

insert into @temp
select 'SomeVal'

select * from @temp
役に立ちましたか?

解決

テーブルなクラスタ化されたインデックス(ヒープのテーブル、データページにリンクしていませんとく横断したページが必要で ルックアップし、インデックス配置図.

クラスタ化されたテーブル、しかし、この データページにリンクを二重リンクリスト 作り順次スキャン、ビットになります。もちろん、取引所、オーバーヘッドの取り扱えるデータのページ順 INSERT, UPDATE, は、 DELETE.ヒープテーブル、しかし、第二のIAM.

た場合には、 RANGE オペレーター(例: SELECT * FROM TABLE WHERE Id BETWEEN 1 AND 100そのクラスタ化されたテーブルっている保証)がより効率的になるという新たな目標に向けて使うときの指数ページに関連するデータのページです。ヒープがスキャンすべての行ができな商品を発送致します。

もちろん、クラスタ化されたインデックスできなクラスタ化されたインデックスを求めるのですが、ここでは最適性能を---ヒープのない指標によってはテーブルスキャン!

い:

  • 用例のクエリが選択するすべての行のみの二重リンクリストクラスタ化されたインデックスでます。この方法でお集テーブルだけの小さなビットによるヒープの大行数を掛けた値です。

  • クエリーと WHERE 項できる少なくとも一部のクラスタ化されたインデックスで、出先でのご注文でなければいけません全体のスキャンする。

  • クエリーなsatisifiedのクラスタ化されたインデックスでいかも---ものの違いによる二重リンクリストシーケンシャルスキャンを実行します。いずれの場合には、入.

  • のための INSERT, UPDATE, は、 DELETE ヒープません。エディタで開き、ヒープになっている秩序の維持が必要となる第二のIAM.と思うの相対的なパフォーマンスの差が無視できるものかデータに依存します。

Microsoftは を比較しクラスタ化されたインデックスを同等の非クラスタ化されたインデックスでは、ヒープ(ないと全く同じ議論をしたことがあり).その結論は基本的に入れるクラスタ化されたインデックスではすべてのテーブルこれからも頑張りまとめるとその結果、注いだと比較すると、非クラスタ化されたインデックスをクラスタ化されたインデックスでここだと思うので比較的類似):

  • INSERT 性能:クラスタ化されたインデックスでの勝利により約3%になると書くのに必要なヒープ.
  • UPDATE 性能:クラスタ化されたインデックスでの勝利により約8%になるルックアップに必要なヒープ.
  • DELETE 性能:クラスタ化されたインデックスでの勝利により約18%になるルックアップに必要なの削除の必要から詳細が決まり次第改め、ヒープ.
  • シングル SELECT 性能:クラスタ化されたインデックスで勝利する約16%になるルックアップに必要なヒープ.
  • 範囲 SELECT 性能:クラスタ化されたインデックスで勝利を約29%のランダムな順序付けは、ヒープ.
  • 兼職の状況 INSERT:heapテーブルの勝利により30%の負荷によるページ分割のためのクラスタ化されたインデックス.

他のヒント

http://msdn.microsoft.com/en-us/library/aa216840(SQL.80).aspx

のクラスタ化されたインデックススキャンの物理オペレーターのスキャンのクラスタ化されたインデックス引数で指定されたカラムです。時のオプションで、()述語が存在し、その行の顧客のニーズに応えるべく、製述語が返されます。そうでない場合は、引数を現在のカラムを含むの順序付けられた条項は、クエリプロセッサに求められた数の出力を返納していただくことになりたクラスタ化されたインデックスにはソートされます。場合の条項は存在しなくなるため、ストレージエンジンのスキャンし、インデックスに最適な保障を出力してソートします).

http://msdn.microsoft.com/en-us/library/aa178416(SQL.80).aspx

のテーブルスキャンの物理オペレーターを取得します全ての行をテーブルから引数で指定されたカラムです。場所:()述語が表示される引数列のみを行ての方にご満足いただける述語が返されます。

テーブルのスキャンを単一行の表に示す。のクラスタ化されたインデックススキャンのスキャンする。しないんでスキャン毎に記録します。その点、本当に、指す"ことである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top