Tam Tablo Taraması Nedir?

Tam tablo taraması, veritabanını taramanın en yavaş, ancak en kapsamlı yollarından biridir. Bu tarama yönteminin bu kadar yavaş olmasının nedeni, veritabanının her satırı okur ve bir veya daha fazla sütunun yönetici tarafından uygulanan bir sorgu veya koşul için geçerli olup olmadığını kontrol eder. Tam tablo taraması için en yaygın tetikleyici, veritabanının, sorgunun başlayabileceği bir dizin satırı içermemesidir. Bir satır arıyorsanız tabloyu el ile taramak genellikle daha iyidir, ancak daha fazlasını arıyorsanız veya büyük bir tabloya bakarken, tam tablo taraması daha iyi çalışacaktır.

Veritabanları, bilgi bulmak veya tabloyu bir koşulun yerine getirildiğinden emin olmak için kontrol etmek için tablolara bakan tarama işlevleriyle birlikte gelir. Dolu bir tablo taraması en kapsamlı taramadır, çünkü koşula uygun bir satır bulsa bile geri kalan satırları taramaya devam eder. Bu fonksiyon pahalıdır, yani yüksek miktarda bellek kullanır, çünkü tarama her satıra okur ve yazar ve ayrıca satırı iyice kontrol etmek için çoklu arama yapar. Bir sorgu veya işlev gerçekleştirildiğinde tam tarama gereklidir, ancak veritabanı sorguyu çalıştırmak için bir dizin görmez.

Dizin, tablodaki bilgileri yöneticinin tercihine göre dizinleyen bir tablodaki sütundur. Örneğin, yönetici isimlerle ilgili bilgileri indekslemek isterse, indeks sütunu her ismin konumunu kaydeder. Bu, hem yöneticinin hem de veritabanının veritabanının derinliklerine gizlenmiş bilgileri bulmasına yardımcı olur. Tabloda hiçbir dizin bulunmuyorsa, bir sorgunun çalışmasına izin vermek için tam tablo taraması genellikle otomatik olarak başlatılır.

Çok fazla bellek tam tablo taramasına ayrılır ve tam taramanın çok yavaş olduğu kadar kapsamlıdır. Yöneticinin sorgu için yalnızca bir veya birkaç satıra ihtiyacı varsa, yalnızca küçük bir dizin oluşturmak daha hızlı olur. Bu doğru olsa da, sorgu büyükse, tam tarama aslında daha hızlı çalışabilir. Yönetici tüm veritabanının yüzde 5'ini veya daha fazlasını etkileyen bir sorgu yapıyorsa, tam bir tarama genellikle aynı şeyi elle yapan yöneticiden daha hızlı bir şekilde gerçekleştirir.

Bir yönetici genellikle tablonun hızlı bir şekilde taranmasını sağlayan bir “EXPLAIN PLAN” işlevini kullanır. Bu, yöneticiye sorgu için bir dizinin gerekli olup olmadığını gösterecektir. Sonuçları alarak, yönetici, sorgunun çalışabilip çalışamayacağını, bir dizin yapması veya arama yapması gerektiğini veya tam tablo taraması yapmanın verimli olacağını bilecektir.