Skip to main content

フルテーブルスキャンとは何ですか?

fullフルテーブルスキャンは、データベースをスキャンする最も遅いが、最も徹底的な方法の1つです。このスキャン方法が非常に遅い理由は、データベースがすべての行を読み取り、1つ以上の列が管理者によって課されるクエリまたは条件に対して有効かどうかを確認するためです。フルテーブルスキャンの最も一般的なトリガーは、データベースにクエリが起動できるインデックス行が含まれていないことです。通常、1つの行を探している場合は手動でテーブルをスキャンする方が良いが、より多くを探している場合、または大きなテーブルを介して見ている場合は、完全なテーブルスキャンの方がうまく機能します。または、テーブルが状態を満たすことができることを確認するためにテーブルを確認します。完全なテーブルスキャンは、条件に一致する行を見つけたとしても、残りの行をスキャンし続けるため、最も徹底的なスキャンです。この関数は高価です。つまり、スキャンは各行に読み取りと書き込みを行い、行を徹底的にチェックするために複数の求めを実行するため、大量のメモリを使用します。クエリまたは関数が実行される場合は完全なスキャンが必要ですが、データベースにはクエリを実行するインデックスが表示されません。たとえば、管理者が名前に関する情報をインデックス作成する場合、インデックス列は各名前の位置を記録します。これにより、管理者とデータベースの両方がデータベースの奥深くに隠された情報を見つけるのに役立ちます。テーブルにインデックスがない場合、通常、フルテーブルスキャンが自動的に開始されてクエリが実行されます。管理者がクエリに1つまたは数の行を必要とする場合、通常、小さなインデックスを構築するだけで速くなります。これは真実ですが、クエリが大きい場合、完全なスキャンは実際にはより速く動作する可能性があります。管理者がデータベース全体の5%以上に影響を与えるクエリを作成している場合、通常、完全なスキャンは、管理者が手動で同じことを行うよりも速く機能を実行できます。」機能は、テーブルのクイックスキャンを実行します。これにより、クエリにインデックスが必要かどうかが管理者に表示されます。結果を取得することにより、管理者はクエリがそのまま実行できるかどうか、インデックスを作成または検索する必要があるかどうか、またはフルテーブルスキャンを実行するかどうかを知ります。