Monday, June 8, 2009

Tablodan ilk 10 kayıt getirme

Bazen tablonun boyu çok büyük olduğunda bu tablodan örnek kayıtlar almak isteyebiliriz. Ama örnek kayıt getirmek için where koşuluna sütünlar ile ilgili şart girmek bazen işe yaramaz. Çünkü sütün hakkında ayrıntılı bilgi sahibi olmayabiliriz.

Örneğin müşteri numaraları 10.000 ile 20.000 arasında olsun ama bazen bunlar ardaşık olmayabilir. Boşluklar olabilir düzgün kayıt dönmez. Yada katar (string) olan alanlardan veri çekileceği zaman neye göre cekeçeğimiz bilemeyiz. Bunların yanı sıra where ile sütün üzerinde işlem yaptığımızda (tam tablo taraması)full table scan yapabilir. Buda çok büyük boyutlu tablolarda performans kaybına sebeb olur.

Select * from arabam where rownum <>

Rownum değeri toplam satir sayısında büyük olmaz ve rownum > 10 şeklinde bir kullanım yanlış olacaktır. Sonsuza kadar git demek gibi bişey. Her zaman rownum 0 (sıfır)dan belirtilen aralığa kadar olmalıdır.

0 <>

Select * from arabam where rownum <>

Select * from arabam where rownum <>Select * from arabam where rownum < 2 derseniz 1 kayıt döner.

No comments: