varchar(max) ve benzerlerinin farkında mısınız?


SQL 2000’de 8000 byte’a sığmayan kolonlar için TEXT ya da IMAGE gibi veritiplerini kullanmanız gerekiyordu.

Artık onlar yerine varchar(max), nvarchar(max) ya da varbinary(max) var. Bu veritiplerini kullanmak çok daha kolay. Çünkü normal bir karakter ya da binary kolonmuş gibi işlemler yapabiliyorsunuz kodunuzda.

Peki ya gerçekten çok büyük bir varchar(max) değerle uğraşmanız gerekirse? Mesela 2 GB’a yaklaşan bir metin? Bu durumda normal kullanım pek hoş olmaz. Çok yük getirir. SQL 2000’de kullanılan READTEXT, WRITETEXT gibi fonksiyonları kullanmayı aramaya başlayabilirsiniz. Ama merak etmeyin, aramanıza gerek yok bunları…

Böyle bir kolonun belirli bir parçasını okumak istiyorsanız, basitçe substring fonksiyonunu kullanmanız yeterli. Yok eğer içinde belirli bir offset’e yazmanız gerekiyorsa, update ifadesinde set .WRITE sintaksını kullanabilirsiniz. Buradaki WRITE parametre olarak, ne yazacağınızı, hangi offsetten başlayacağınızı ve byte sayısını alıyor.

Her zaman olduğu gibi detaylı uygulamasını yazmıyorum. Boşuna çaba olur. Books Online’da rahatlıkla buna ulaşabilirsiniz. Benim sağlayacağım fayda, böyle imkanlarınızın olduğunu duyurmak…

Bu yazı SQL Server 2008 içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s