Oracle ROWID Nedir?

ORACLE ROWID NEDİR?

Satırın database’deki fiziksel adresini gösteren pointerdır,pseudo bir kolondur.ROWID 10 byte string tutar.Select çektiğimizde gözükmez ama görmek istersek:

SQL> SELECT  ROWID,* FROM HR.EMPLOYEES;
şeklinde görebiliriz..

Oracle’da en hızlı arama şekli rowid ile yapılan aramadır çünkü datanın fiziksel adresini tutar.Güncelleme,silme işlemlerinde kullanılabilir, çünkü satır girilmiş ve bir rowid almıştır.İşlem yapılacak kayıt bulunup rowidsi alınarak silme,güncelleme işlemi rowid üzerinden yapılabilir ve gayet
de hızlı olur.Yalnız bu işlem boyunca satırın rowid’si değişmemeli.Çünkü rowid değeri tablo ve blok yapısına göre değişebilir.

ROWID tekrar eden kayıtları silerken de işimize yarar, çünkü silerken baz alacağımız değerler aynıysa farklı unique bir değere ihtiyacımız vardır, bu durumda da rowid’yi kullanabiliriz.

SQL> DELETE FROM emp E WHERE E.rowid>(SELECT MIN (x.rowid)
FROM emp X WHERE X.emp_no = E.emp_no);

Tagged: , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir