Kategoriler


SON YORUMLAR
merve ebru
yanılıyorsunuz onların hepsini yapıyorum
Kimsesizkimse
Tanıdık gitmeyin devlet özel yerlere gidip para alın belki vermez tanıdık ama devlet verir
coder
10. madde hariç hepsi yalan
programcı
10. maddeyi uygulayacağım teşekkürler
ceylan
Esit agirliktan bilgisayar muhendisi olunur mu

Gelin bu isten vazgecek telef olmasin bunca bubayigit suleyman
Büşra
çok güzel bir yazı olmuş mühendislikten tam vazgeçerken sizin makalenizi okudum ve bilgisayar mühendisliğini bırakmamam gerektğini anladım çok etkili oldu teşekkürler.
merve
3. maddenize katılmıyorum kusura bakmayın ama biraz küstahça olmuş meslek lisesine gidip iyi yerlere gelen insanlar çok var siz böyle söyleyerek gençlerin heveslerini kırıyorsunuz . sizinde dediğiniz gibi Unutmayın işini iyi yapan iyi bilgisayar mühendisleri her zaman el üstünde tutulur.
nazlı
çok teşekkürler gerçekten çok yardımcı oldunuzz :)
Ömer
Lisedeyim sosyal mühendislik ve programla üzerine çalışıyorum genelde visual basic ve ddlphi kullanıyorum javayi hiçbir zaman anlayabilmis değilim genelde online oyunlar için hacking projeleri delphi7 ile yapıyorum trainer vs.vb ile Dd program fealn ama kodları ezbere yazamıyorum if elde komutlarını aklıma gelmiyor zamanla oturur mu
OkanB
Izmir Yüksek Teknoloji Enstitüsü .nü istiyorum . Bu üniversiteden mezun oldugum zaman özel sektörde iş bulma-bulamama ihtimalim nedir veyahut başka önerebileceginiz üniversiteler var mıdır varsa nelerdir?
OkanB
Izmir Yüksek Teknoloji Enstitüsü .nü istiyorum . Bu üniversiteden mezun oldugum zaman özel sektörde iş bulma-bulamama ihtimalim nedir veyahut başka önerebileceginiz üniversiteler var mıdır varsa nelerdir?
Azer
evet
Tatar Ramazan
C# (2500) Java (1500) ASP.NET, Silverlight, WPF, WCF, ADO.NET (2000) XML, XSL, HTML, Javascript, CSS, JQuery, Ajax (1500) Reporting Services, T-SQL, PL/SQL (2000) İngilizce YDS 72 puan (500) Bildiklerimi de % 80-90 seviyesi biliyorum. Yukarda sahip olduğum niteliklere göre 10.000 TL almam gerekiyor. Veren var mı? Yok. Denilebilir ki bilgin önemli değil yaptığın işin miktarı önemli. Tamam da bize yazık değil mi? Her firma farklı bir teknoloji istiyor. Onu öğren bunu öğren şunu öğren canımız çıkıyor. Bu sefer de hiç bir alanda uzman değilsiniz diyorlar. 10 tane şeyi bilmemizi isterseniz yeni mezun olarak nasıl hepsinde uzmanlaşacağız? Para da vermiyorlar. Herkes tıbbı tercih ediyor. Biz adamın ciğerini sökeriz.

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 - Clustering Faktor(CF) nedir?
PHP Geliştirme Ortamı - Zend Studio
Şehir dışında okumak
ASP.NET ve ASP Session Paylaşımı
Hollanda, IT sektöründe ihtiyaç duyduğu en az 40 bin kişilik işgücü ihtiyacını karşılayabilmek için dünyadan iki ülke seçti.
Yeni mezun bilgisayar mühendisleri için 10 büyük günah!
Sanal Bellek Nedir?
Dizin (Directory) ve LDAP (Lightweight Directory Access Protocol) Kavramları
Vakıf üniversiteleri
7 adımda patlak mühendisi tanıma rehberi?
Sıralamanız Ne?
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
İş bulmak üzerine
Akıllı istemciler oluşturabilmek için ClickOnce
Bilgisayar Mühendisliği ÖSS Taban Puanları 2009
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Online Java Dersleri - Java NEDİR?
Bill Gates Emekli Oldu
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)
Dünyanın En İyi 500 üniversitesi 2007 Sıralaması Açıklandı

Bilgisayar Mühendisleri Portalı

Oracle - Clustering Faktor(CF) nedir?

Kabaca ; indeks üzerinden tabloya gidildiğinde ,her gidişte okunan tablo bloklarının sayısıdır.Arka arkaya aynı bloktan okuma yapılırken CF degeri arttırılmaz.Ne zamanki farklı bloga geçildi ,değeri o zaman bir arttırılır.Peki bundan bize ne:) Aslında bayağı ilgili olmamız gereken bir bilgi.Çünkü verilere ulaşırken tablonun ne kadar bloğu üzerinde gezineceğimiz (I/O) ortaya çıkıyor.Ne kadar çok blok okuma o kadar COST = maliyet.Bu da execution planı etkilemektedir.

Daha iyi ifade etmek için aşağıdaki gibi bir örnek yapalım.Tablomuz aşağıdaki gibi değerlerden oluşsun ve satırlar 3 bloğa dağılmış olsun.

  DESCR          ID DESCR     ID DESCR
  1 “bir”          4 “dört”        7 “yedi”
  2 “iki”           5 “beş”         8 “sekiz”
  3 “üç”          6 “altı”          9 “dokuz”

  Block1           Block2           Block3

 “ID” kolonu uzerinde indeksimiz oldugunu ve indeks üzerinden cift ID lerin DESCR kolon değerine ulasmaya çalıştığımızı düşünelim.

Indeksten tabloya hareket                 CF adedi (kümülatif)
2 ye tabloda ulaşıldıgında                       1  (Block 1)
4 e tabloda ulaşıldıgında                         2  (Block 2)
6 ya tabloda ulaşıldıgında                       2  (Block 2)
8 e tabloda ulaşıldığında                         3  (Block 3)

4 ve 6 aynı blokta oldugu için 2. adımdan 3. adıma geçerken CF değeri artmadı.Sonuç olarak CF değeri tablodaki blok sayısı kadar oldu.Bir başka değişle çift degerleri almak için tablodaki tüm blokları ziyaret ettik! (COST = Maliyet)

Tablo yapımız aşağıdaki gibi olsaydı CF “1” olacaktı. Başka bir değişle Cost = maliyet daha az olurdu. 

DESCR          ID DESCR
 1 “bir”          2 “iki”
 3 “üç”          4 “dört”
 5 “beş”         6 “altı”
 7 “yedi”        8 “sekiz”
 9 “dokuz”

Şimdi bu abnatılanları gerçek dünyada görelim. TTEST tablomuzu ve bu tablo üzerinde indeksi oluşturalım :

 SQL> create table TTEST as select * from all_objects order by object_id;
Table created.
 SQL> create index TTEST_ID_IDX on TTEST(object_id);
 Index created.

İstatistik toplamayı unutmuyoruz.

SQL> analyze table TTEST compute statistics for all indexes;Table analyzed.

Şimdide aşağıdaki sorgu ile tablodaki blok adedi ve CF değerini görelim :

 SQL> select t.blocks table_blocks, i.clustering_factor CF
  2  from   dba_tables t, dba_indexes i
  3  where t.table_name=i.table_name
  4  and    t.table_name=’TTEST’
  5  and    t.owner = ‘TEST’;
 
TABLE_BLOCKS         CF
———— —————-
       33816             157

Tablomuzu biraz karıştıralım.Bunu için tablomuza aşağıdaki gibi verilerei girelim :

SQL> insert into ttest select * from all_objects order by object_type;
11797 rows created.

İstatistiğimizi toplayalım.

SQL> analyze table TTEST compute statistics for all indexes;
Table analyzed.

Tablodaki blok adedi ve CF değerini yeniden görelim :

SQL> select t.blocks table_blocks, i.clustering_factor CF
  2  from   dba_tables t, dba_indexes i
  3  where t.table_name=i.table_name
  4  and    t.table_name=’TTEST’
  5  and    t.owner = ‘TEST’;
 

TABLE_BLOCKS         CF
———— ——————
33816             22912

CF oldukça arttı.Bunun olası bir maliyetide beraberinde getireceğini artık farkındayız.

Peki CF degerini nasıl düşürebiliriz?Akla gelen ilk yol tabloyu yeniden organize etmektir.Bunu da 10g ile gelen shrink opsiyonu ile gerçekleştirebiliriz.Ancak SHRINK kullanabilmek için tablespace’in ASSM modda  olması gerektigini unutmayalım. Bazende çok DML görmüş bir tabloyu (özellikle sık update ,delete) yeniden oluşturmak iyi olabilir. 

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

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın




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