Kategoriler


SON YORUMLAR
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python, R Lang ödevlerinizde yardımcı olabilirim. Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan87.92@gmail.com | Whatsapp: 0542 833 9141 Yıllardır bu işi yapmaktayım. Yüzlerce ödev yapıp teslim ettim.
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python, R Lang ödevlerinizde yardımcı olabilirim. Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: ka.an879.2@gmail.com | Whatsapp: 0542 833 9141 Yıllardır bu işi yapmaktayım. Yüzlerce ödev yapıp teslim ettim.
kan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python, R Lang ödevlerinizde yardımcı olabilirim. Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan.8792@gmail.com | Whatsapp: 0542 833 9141 Yıllardır bu işi yapmaktayım. Yüzlerce ödev yapıp teslim ettim.
kan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python, R Lang ödevlerinizde yardımcı olabilirim. Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: ka.an8792@gmail.com | Whatsapp: 0542 833 9141 Yıllardır bu işi yapmaktayım. Yüzlerce ödev yapıp teslim ettim.
musa
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python, R Lang ödevlerinizde yardımcı olabilirim. Mail: kaan.8792@gmail.com | Whatsapp: 0542 833 91 41
ismail
Ödevlerinizi kendiniz yapın
dinozorunsesi
ne yapsam bilemiyorum galiba mühendis olacağım
kelmamut
tatar ramazan karı ve iş bulamayan ezik bi orosbu çocuğusun az ötede ağla derdin zengin olmaksa mühendislk değil tıp okucaktın yanlış okumuşşun karı kızsa derdin gidip pezevenklik yapacaksin mühendislikle alakası yok senin hayatın kaymış olm benim dayım bilgisayar müh kocaeli mezunu amerikada paraları götürüyo 10k dolar maaşla sen anca ağla ezik orospu çocuğu
disko_anksiyete
dalga gectigin kamyon soforleri asgari ucretin cok ustunu aliyorlar ve is bulma sorunlari yok :D aynisini yazilim sektoru ve bilgisayar muhendisligi icin soyleyebilir misin? 4 sene okuyup lisans diplomani aldiktan sonra yurtdisindaki sirketlerde calisabilecek nitelikte olmayacaksin, yurticindekiler de asgari ucretten ya da hatta staj ucretinden baslatip amina koyacaklar, haftasonunu bile sikip atacaklar :D aptal pic seni.
Eray
Java, C ve C++ dillerindeki programlama sorularının çözümlerinde ve projelerinde hızlı ve nitelikli bir şekilde yardımcı olabilirim. Projenin başarılı bir şekilde çalışacağını garanti ederim.
Eray
AA ile geçtiğim ve sizin de yüksek notlar alacağınızı garanti ettiğim programlama dersleri için JAVA, C ve C++ programlama dillerinde özel ders verebilirim. Aynı zamanda lablarınıza, ödevlerinize hazırlanmanız için örnekler çözüp online eğitim sürecinde size destek olabilirim. Whatsapp: 05424280350
Çınar Kılınç
Ufhgry
kamyoncu bilgisayar mühendisi
@disko_anksiyete ben bu yorumdan sonra kamyon şoförlüğüne başladım arkadaşlar hakkınızı helal edin...:(
siber
hocam şu yorum sistemine bi authentication ekleyin ya da onay sürecinden geçsin bali, nokta diye mesaj atan var, 100 kere reklam veren var.

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Oracle - Indexler Hakkında detaylı bilgi - 2
Kredi Kartı Numarası Doğrulama- Lhun algoritması
Oracle - Clustering Faktor(CF) nedir?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Database programlama...
Bilgisayar Mühendisleri Kaç Para Alır?
İki bilgisayar mühendisi buldum, sistem analizi yaptırdım ve hiçbir hastanede olmayan web tabanlı bir yazılım hazırlattım.
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Para ile ödev yapmak üzerine
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisleri için CV hazırlama rehberi - 3
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Bilgi Teknolojileri sektöründe AR-GE’den ne anlıyoruz?
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Gül'den gençlere öğütler: Boşa zaman geçirmeyin
Vakıf üniversiteleri

Bilgisayar Mühendisleri Portalı

Oracle - Indexler Hakkında detaylı bilgi - 2

Indeks var ama neden kullanılmıyor ?

Durum 1 : T tablomuzda “x” ve “y” kolonlarımız olsun ve “idx_t(x,y)”  şeklinde de bir indeksimiz oldugunu düşünelim.( concatenated index).Bu index ‘i kullanabilmek için “where” koşulundan sonra bu kolonları :
         “….where x = :X and y = :Y” şeklinde ya da “…where x = :X” şeklinde  , indeksin kullanılmasını sağlamış oluruz.

”…where y=:Y” durumunda ise indeks kullanılmayacaktır.Indeksli kolonlar T(x, y, z) ise indekten faydalanmak için “where” koşulundan sonra aşağıdaki kolon sırası takip edilirse indeks kullanılır :
(x, y, z)
(x,y)
(x)

(x,z), (y,z) gibi kombinasyonlarda indeks kullanılmaz.(Cost Based Optimizer kullanıldıgını düşünüyoruz)Durum 2 : T tablomuzda “x” kolonu üzerinde indeks oldugu düşünelim.
 

select count(*) from T , işleminde indeks üzerinden gitmesini beklerken FTS yapmış oldugunu görebiliriz.Bunun muhtemel sebebi indeks oluşturulan “x” kolonu “NULL” içermesi olabilir.NULL içeren kolon değerleri için indeks oluşturulmayacağını görmüştük.Bu durumda Oracle mantıklı olan FTS yapmayı tercih edecektir.

Durum 3 : select * from T where func(indexed_col) = value  , gibi bir durumda indeks kullanılamaz.Indeks oluşturulan kolonlar için fonksiyon kullanıldıgında indeks işe yaramaz.Çünkü fonksiyonun değerine değil , fonksiyona parametre olan kolon üzerinde indeks vardır.Eğer buna ihtiyaç var ise “function-based index” kullnılmasında fayda var.

Durum 4 :  Bir karakter kolonu indekslediğimizi düşünelim.Aşağıdaki gibi bir sorguda :
select * from T where indexed_col = 5 , indeks kullanılmayacaktır.Çünkü bu sorgu select * from T where to_number(indexed_col) = 5, ile aynıdır.Bu durumuda (Durum 3)’ te açıklamıştık.Bunu genelleyecek olursa implicit olarak yapılan karakter dönüşümlerine engel olunmaz ise indekste kullanılamaz.
Benzer bir durum tarih alanları üzerinde indeks oluşturulduğunda karşımıza çıkar.
 

select * from T where trunc(indexed_date_col) = trunc(sysdate);

indeks TRUNC fonksiyonu sebebi ile yine kullanılamaz.Bu sorgu yerine :
…. indexed_date_col between trunc(sysdate) and trunc(sysdate)plus one mınus one second;
ya da
select * from t where indexed_date_col between trunc(sysdate) and trunc(sysdate) +1 – 1(1*24*60*60)

kullanılmalıdır.Bununla birlikte yukarıdaki 2 yöntemde, değer bir kez hesaplanıp indeks üzerinden gidilirken

“…where trunc(indexed_date_col) = trunc(sysdate);” durumunda ,her satır için trunc(indexed_date_col) hesaplanacaktır.

DURUM 5 : Indeks var ama hala kullanmıyorsam, bunun bir başka sebebi de CBO için gerekli olan istatistikleri toplamamış olmamız olabilir.Bir tablo oluşturulduktan sonra belli zamanlarda ilgili istatistikleri (tablo, kolon, indeksler vs..) toplamamız gerekiyor.Ancak bu sayede CBO en iyi çözümü bulabilir.Indeks buluna bir tabloda indeksli kolon için, tablo küçük iken FTS tercih etmesi  doğal olabilir.Ama tablo büyüdükçe indeks range scan ile daha performanlı sorgu yapılabilir.ancak CBO, buna ancak elinde dogru bilgi olursa karar verebilir.

DURUM 6 : “CBO için gerekli istatistikleri de topladım ama indeks yerine hala FTS yapılıyor “ , boyle bir durumda gercekten dogru olan FTS olabilir.Örneğin 1000 kayıtlı bir tablo da indeksli kolon üzerinden 250 kaydı sorgulamak istediğimde , indekse gidip oradan tabloya erişim yapılacağına dogrudan tabloya gidip FTS yapmak daha az maliyetli olacaktır.Bu tablodaki veri sayısı örneğin 100.000’e ulaştıgında aynı sorgu için FTS yapması gariptir, bakılması gerekir.

Hakkı Oktay
http://hakkioktay.wordpress.com

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

(8.2.2012 15:02:26)
nefret ediom oracledan amma ameleleiik daa
%40 %0 %60
Katılıyorum Çekimserim Katılmıyorum



Mehmet Vecdi Sami(8.2.2012 11:32:22)
Merhaba yazı çok yararlı oldu benim açımdan. Teşekkür ederim.
%75 %0 %25
Katılıyorum Çekimserim Katılmıyorum



1(9.8.2010 09:32:10)
1
%30 %30 %40
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2020. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.