Kategoriler


SON YORUMLAR
Kaan
Saü bilgisayar mühendisliğinde okuyorum birkaç dersten mezuna kaldım. Java, Android, C++, Web programlama ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaan8792 adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
Murat Gelen
Hedefim B.M eyw Abi
Hayalim B.M olmak
Abi gerçekten çok teşekkür ederim senin sayende bilgisayar mührndisliğinin ne olduğunu biliyordum ama bilmiyormuşum bunu okuduktan sonra daha iyi anladım yani şey şuan 7 ye gidiyorum zaten ama yinede hayalim B.M olmak ben kızım ama yinede baska bir ülkeye de gitsem B.M olucam taktım kafaya gerçekten sana çok teşekkür ederim abi birde bir gün şey yaparmısın acaba lisede bilgisayar mühendisliği için neler lazım? Lisede B.M mühendisi olmak için neler yapıcaz? Yazılım mi yazcaz ? Tamir mi etcez?
esra
Broşur , Afiş , Dergi, Tek Baskılar Yada Toplu Baskılar Ödevler Yapılır. Baskıya Ve Tasarıma Dair Herşey Öğrenciye Uygun %50 Bedava Bana Ulaşabilirsiniz. esraozdemir.91@gmail.com
alper
Java, C/C++, python, perl vs ve bilgisayar müh. derslerinizin ödevleri garantili yapılır, geçen sene olduğu gibi yazilimcialper@gmail.com , yazilimcialper@gmail.com
alper
Java, C/C++, python, perl vs ve bilgisayar müh. derslerinizin ödevleri garantili yapılır, geçen sene olduğu gibi yazilimcialper@gmail.com , yazilimcialper@gmail.com
paripapxe
Selamlar, R programında istatistik dersi için ödev yapabilen arkadaşlar varsa ücret karşılığı bana ulaşabilir mi?
Komodor
Hahaha
Ercan Sezdi
Elektrik elektronik mühendisliği okuyorum. Pyhon ve C++ ödevleri yapabilirim. Iletisim: ercansezdi007@gmail.com
Erdem
Benim bilgisayarla alakam yok acaba bilgisayar mühendisliği tercih etsem doğru olur mu
EmreSDÜ
Bankacılık okuyorumyaklaşık bi 40 sayfalık bi yazı ödevim var ücreti mukabilinde yardımcı olacak arkadaşları bekliyorum ozcanemre1910@gmail.com
Random bir Deli
Eyw
Cagla
Her türlü mühendislik ödevi yapılır. Sadece kod değil, tasarım ödevleri de (logic, ds, algoritma analizi vs.) yapılır whocares21@gmail.com
Kaan
Saü bilgisayar mühendisliğinde okuyorum birkaç dersten mezuna kaldım. Java, Android, C++, Web programlama ödevlerinizde yardımcı olabilirim. İletişim : kaan8792@gmail.com

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
SQL Server - SP için önemli ipuçları
Bilgisayar Mühendisleri Kaç Para Alır?
Patlaklar ordusuna katılacaklara 12 altın öğüt.
Beyond Unit Testing - Yazılım nasıl test edilmelidir
Database programlama...
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar mühendisliğinde okuyan öğrencilere tavsiyeler
Amerika tartışıyor. Programlama dersleri ne zaman başlamalı?
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)
PHP Geliştirme Ortamı - Zend Studio
Introduction to making multithreaded VB.NET Apps
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar mühendisliğinde okuyan öğrencilere tavsiyeler
MODEM ÇEŞİTLERİ
Bilgisayar mühendisliğinde okuyan öğrencilere tavsiyeler

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-2019. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.