Aracılığıyla paylaş


Blok İmleçleri

Birçok uygulama, verileri ağ üzerinden getirmek için önemli miktarda zaman harcar. Bu sürenin bir kısmı aslında verileri ağ üzerinden getirmek için harcanır ve bir kısmı da sürücü tarafından bir veri satırı istemek için yapılan çağrı gibi ağ ek yüküne harcanır. Uygulama aynı anda birden fazla satır döndürebilen blok veyayağimleçlerini verimli bir şekilde kullanırsa ikinci zaman azaltılabilir.

Bir uygulama her zaman blok imleci kullanma seçeneğine sahiptir. Bir kerede yalnızca bir satırın getirilebildiği veri kaynaklarında, sürücüde blok imleçlerinin simülasyonu yapılmalıdır. Bu, birden çok tek satırlı getirme işlemi gerçekleştirilerek yapılabilir. Bunun herhangi bir performans kazancı sağlama olasılığı düşük olsa da, uygulamalar için fırsatlar sunar. Daha sonra DBMS'ler blok imleçlerini yerel olarak uyguladığından ve bu DBMS'lerle ilişkili sürücüler bunları kullanıma gösterdiğinden bu tür uygulamalar performans artışlarıyla karşılaşır.

Blok imleciyle tek bir getirmede döndürülen satırlara satır kümesi adı verilir. Satır kümesini sonuç kümesiyle karıştırmamak önemlidir. Sonuç kümesi veri kaynağında tutulurken, satır kümesi uygulama arabelleklerinde tutulur. Sonuç kümesi sabit olsa da, satır kümesi değildir; her yeni satır kümesi getirildiğinde konum ve içerik değişir. Geleneksel SQL yalnızca ileriye doğru imleci gibi tek satırlı bir imleç geçerli bir satırı işaret ettiği gibi, blok imleci de satır kümesini gösterir ve bunlar geçerli satırlar olarak düşünülebilir.

Birden çok satır getirildiğinde tek bir satırda çalışan işlemleri gerçekleştirmek için, uygulamanın önce geçerli satır olan satırı belirtmesi gerekir. Geçerli satır, SQLGetData çağrıları ve konumlandırılmış güncelleme ve silme deyimleri için gereklidir. Blok imleci ilk kez bir satır kümesi döndürdüğünde, geçerli satır satır kümesinin ilk satırıdır. Geçerli satırı değiştirmek için uygulama SQLSetPos veya SQLBulkOperations'ı çağırır (yer işaretine göre güncelleştirmek için). Aşağıdaki çizimde sonuç kümesinin, satır kümesinin, geçerli satırın, satır kümesi imlecinin ve blok imlecinin ilişkisi gösterilmektedir. Daha fazla bilgi için, bu bölümün devamında yer alan Blok İmleçlerini Kullanma ve Konumlanmış Güncelleştirme ve Silme Deyimleri ile SQLSetPos ile Verileri Güncelleştirme konularına bakın.

Sonraki, Önceki, İlk ve Son Satır Kümelerini Getir

İmlecin blok imleci olup olmadığı kaydırılabilir olup olmamasından bağımsızdır. Örneğin, bir rapor uygulamasındaki çalışmanın çoğu satırları almak ve yazdırmak için harcanıyor. Bu nedenle, yalnızca ileriye doğru, blok imleciyle en hızlı şekilde çalışır. Kaydırılabilir bir imlecin masrafını önlemek için yalnızca ileriye dönük bir imleç ve ağ trafiğini azaltmak için bir blok imleci kullanır.

Bu bölüm aşağıdaki konuları içerir.