2 Ocak 2009 Cuma

SQL Veritabanında Index oluşturuken Include column özelliği

Select email from tKisi where AD = 'ismail' and Soyad='aydın'

şeklinde bir sorgumuz olsun. tKisi tablosunda 1.000.000 kayıt olduğunu düşünelim. Hemen ilk yapacağımız şey ne olur AD ve SOYAD alanlarından oluşan bir index oluşturmak.


CREATE NONCLUSTERED INDEX [AD] ON [dbo].[tKisi]
(
[AD] ASC,
[SOYAD] ASC
)

Evet bunu yaptığımızda read count ve scan count değerlerine bakarak sorgunun performansını gözlemlediğimizde çok ciddi bir hız artışı göreceğiz.

SQL bu sorgunun yanıtını bize verirken AD ve SOYAD için index ağacı üzerinden aramasını yapar ve sonucu geri dönmek için email alanına ihtiyacı vardır. Bu değeri elde etmek için index üzerinden tabloya bir erişim yapar ve email bilgisini bize verir. İş te bu erişim de bir zaman maliyetidir. Bu durumu engellemek için. email alanı index oluştururken include özelliği indexe ekleriz böylece. email bilgisini tabloya gitmeden index tanımı üzerinden alarak bize geri dönüşünü yapar.


CREATE NONCLUSTERED INDEX [AD] ON [dbo].[tKisi]
(
[AD] ASC,
[SOYAD] ASC
)
INCLUDE ( [email])

Burda akla şu soru gelebilir. Neden email alanını da indexe tanımlamadık. Bir veriyi direk indexe eklediğimiz durumda Index için oluşturulan binary tree nin yapısı değişmektedir. Biz ağaçta yeni bir karar mekanizması değil, ilgili veriye index üzerinden ulaşılır ulaşılmaz ilgili kaydın başka bir verisini geri almak istediğimiz için INCLUDE yapısını tercih ettik.

Mezun oluyorum, ne yapacağım...

Bir çok yeni mezun arkadaşımızdan çok sayıda bu soruyu alıyoruz. Bu soruyu, üniversite veya lise öğreniminde başarılı olan da olmayan da soruyor.

İmkanı olanlar için söyleyebileceğim ilk konu mutlaka okurken part time veya freelance bir yerlerde çalışmaya çalışın. Burda kendinizi piyasa ile kıyaslama ve hangi noktalarınızı geliştirmeniz gerektiğinin tespitini çok kolay yaparsınız, çevre edinirsiniz ve tercih edilmiş birini başka bir firmanın tercih etmesi daha yüksektir.

Yapamadım, olmadı, bizim şehirde çalışmak istediğim alan yok... Bir çok neden daha sayılabilir. Ben bunlara da bahane diyorum artık. Eğer çalışamıyorsanız, kendi çevrenizdeki arkadaşlarınızla bir şeyler yapabilirsiniz. Daha profesyonel bir çalışma istiyorsanız, internet üzerinden çok sayıda iletişime geçebileceğiniz gruplar bulunmaktadır. Bu gruplarla ortak projeler geliştirerek bu açığınızı kapatabilirsiniz.

Bu noktada önerim herkesin öncelikle kendisinin ne kadar iyi olduğunu, neler bildiğini ve ne yapabileceğini iyi tartması ve bilmesidir. Bir işyerine başvurduğunuzda, bilmemenize rağmen uçup kaçıyorsanız ve kullanmamış olduğunuz teknoloji ve terimleri 2 cümlelik bir yazıda görüp biliyormuş gibi bahsederseniz, işi bilen birine rastladığınızda zor durumda kalırsınız.

Başvuru yaptıktan sonra iş görüşmesine gittiğinizde, içinizden ben yeni mezunum bilmiyorum, nasıl yapacağım gibi kaygılarınızı en sona bırakın. Şunu bilin ki; sizi bir firma iş görüşmesine çağırmış ise CV nize bakmış, tüm detayları ile birinci elemesinde sizi başarılı görmüş ve çağırmıştır. Yani 1:0 avantajlı bir konumdasınız demektir. Görüşmede yapılan, CV de yazan ile siz aynı kişimisiniz onu tespit etmektir. Gerçekten de çok hayal kırıklığına uğradığımız anlar yaşayabiliyoruz. Veya tam tersi durumlar. Bu yüzden bir önceki paragrafta da belirttiğim gibi; CV de yazdığınız gibi görünün ya da göründüğünüzü CV nizi yazın.

Başvurmaktan çekinmeyin, çok başvuru yapın. Olumsuz cevaplar sizi yıldırmasın. Her firma kötü olduğunuz için size red cevabı veriyor diye düşünmeyin. Emin olun çok fazla kriter var seçim sırasında, bundan ötürü yılmadan başvuru yapın. Ne iş olsa yaparım mantığı ile, bir firmanın hem Network hem de Yazılım bölümüne başvuru da yapmayın. Birini gözünüze kestirin ona başvurun.

Hakkımda

Blog Hakkında

Herkese merhabalar,

Çok yazı yazmayı seven birisi değilimdir. Kendi tabirimle action adamıyım. Onun için oluşturmuş olduğum bu bloğu çok sık güncelleyemeyeceğimi ilk aşamada belirtmek isterim.

Bu blog ile amacım. Tecrübelerimi, kimsenin başını şişirmeden, az ve öz olarak sektördeki arkadaşlarıma sunmak. Bazı bilgiler vardır ki kitaplarda yazmaz. Olabildiğince onlarıda yayınlamak burdan sizlere ulaştırmak ve bir nebze de olsa arkadaşlara katkıda bulunmak istiyorum. Yazılarımda teknik konular da olacağı gibi, uzun yıllar çok sayıda proje yönetmiş olmamın ve ayrıca Türkiye'nin önde gelen firmalarında Insan Kaynakları projelerinde analizinden teslimine kadar bulunmuş olmamdan verdiği IK tecrübesi ile deneyimlerimi aktarmaya çalışacağım.

Saygılarımla,