Kategoriler


SON YORUMLAR
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
Hacker
we have a security vulnerability BY_H4CK3R_
.
.
harun
/
harun
/
harun
/
.
.
Bilgisayar mühendisi
Yazılım ve veritabanı ödevleriniz yapılır. iletişim dersnotlarim.17@gmail.com
Bilgisayar mühendisi
Yazılım ve veritabani ödevleriniz yapılır. İletişim dersnotlarim.17@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 - Clustering Faktor(CF) nedir?
Bilgisayar Mühendisliğini yeni kazandım, neler yapmalıyım?
ASP.NET ve ASP Session Paylaşımı
Ajax kullananlar için yükleniyor resimleri
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
İnglizce Hazırlık Sırasında Yapılması Gereken 10 Şey!
İş bulmak üzerine
Yazılım Müdürleri için doğru insanı bulma rehberi - Joel Spolsky
Akıllı İstemci & Web Uygulamaları
Online Java Dersleri - Java NEDİR?
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
Asp.net - Questions and answers - FAQ
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Windows Workflow Foundation Conditions
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Bilgisayar Mühendisi olacaklara üniversite seçme rehberi?
Asp.Net 2.0 ve Client Script Callback

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