Menu

21 Ocak 2013 Pazartesi

Index Clustering Factor

   Soyle bir senaryo dusunelim, varolan bir tablonuzdaki herhangi bir kolon uzerinde index olusturnuz ve sorgunuz where sartinda bu kolon uzerinden bir kosul sagladik ve sorgumuzun execution planina baktigimizda “index range scan” yaziyor. Burada kadar her sey cok guzel, istedigimiz gibi index`imiz calisiyor. 

Ama bir sorun var.! Sorgum index range scan plani kullanmasina ragmen bana donen sonuc bekledigimden cok yavas. Acaba bunun sebebi ne olabilir. Bunun sebebi su ki, sorgum index kullanmasina ragmen tablodan cok fazla blok okumasidir. Buda bize Index Clustering Factor degerinin cok buyuk oldugunu gostermektedir.

Index Clustering Factor : Indeks üzerinden tabloya gidildiğinde, her gidişte okunan tablo bloklarının sayısıdır. ICF degeri bir tablodan arka arkaya ayni blogu okudugumuzda artmaz, yeni bloklara gecildigi zaman artar. 

Index Clustering Factor degerindende anlayacagimiz gibi, sorgumuzun execution planda index calistigini gorsek bile, sorgumuz sonuc getirirken malasef tablo uzerindeki cok fazla blogu ziyaret etmekte ve buda system uzerinde I/O degerini artirmaktadir. Ve ne kadar  cok blog okunursa sorgumuzun cost(maliyet)ini o derecede artiracaktir. 

Clustering factor'ü düşük olan bir indeks ile costu cok dusuk sorgulara sahip olabilirsiniz

Clustering factor'ü arttırabilecek faktörlerden birisi tablonun sürekli olarak taşınması(move) veya yeniden oluşturulmasıdır. Tabloya girilen her yeni kayıt ile indeks kendine ait olan mantıksal yapraklarını günceller ve daha fazla clustered olma eğilimine girer. Bu sekilde devam eden bir durumda, clustering factor degerinin nelere gelebilcegine inamamazsiniz.

Peki bu kadat bahsettigimiz clustering factor 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 yapildigi zaman, tablodaki indexler kullanilamaz hale gelir ve yeninde rebuild edilmesi gerekmektedir.

6 yorum:

  1. I аm гegular readeг, how are you everybody?

    Thiѕ paragraph ροsted at this website
    іѕ genuinely gοod.

    Also viѕіt my webѕite ... chat rooms redefine

    YanıtlaSil
  2. Everуthіng is very opеn with a reаllу сlear desсription of the iѕsuеѕ.

    It ωаs truly informаtive. Youг ѕіte iѕ ѵery helpful.
    Thanks fοr sharing!

    Rеview my homepage - Chatroulette

    YanıtlaSil
  3. Ηmm it appears like your blоg ate my first cοmment (it
    was extremelу long) so I gueѕs I'll just sum it up what I wrote and say, I'm thοrоughly enϳoying
    your blog. I tоo аm an aspiring blog writег but I'm still new to the whole thing. Do you have any suggestions for novice blog writers? I'd
    genuinely appreсіate it.

    Feel frее to visit my web pаge; simply click the next website

    YanıtlaSil
  4. I'm more than happy to uncover this site. I want to to thank you for your time for this fantastic read!! I definitely enjoyed every little bit of it and I have you bookmarked to see new stuff in your site.

    Here is my blog: stop hémorroïdes

    YanıtlaSil
  5. I'm not sure exactly why but this website is loading incredibly slow for me. Is anyone else having this problem or is it a problem on my end? I'll check back later on anԁ see
    if the problem ѕtill еxіsts.

    Feel free to surf to my webpage; zahnzusatzversicherungen stiftung warentest

    YanıtlaSil
  6. Wοw that was stгange. I just wrote аn vегу long comment but after I clicked submit my comment ԁidn't show up. Grrrr... well I'm not writing
    all thаt over agаin. Аnуhoω, ϳust wanteԁ tо ѕаy exсеllent blоg!


    my web-ѕite :: les hémorroïdes

    YanıtlaSil