SORU
19 Ocak 2010, Salı


ikilik(max) her yerde?

Hepsi senin Sql 2008 dize sütunlar varchar Sunucu yapma ile herhangi bir sorun(max). İzin verilen dize boyutları uygulama tarafından yönetilir. Veritabanı sadece verdiklerimi devam etmelidir. Bir performans tüm dize sütun türü olarak ilan ederek vurdu ikilik(max) Sql Server 2008 al, ne olursa olsun, aslında onlara gider veri boyutu olacak mı?

CEVAP
27 Temmuz 2011, ÇARŞAMBA


Kullanarak VARCHAR(MAX) temel olarak söylüyorum SQL Server "mağaza değerler bu alanda ne kadar gördüğünüz en iyi", SQL Server olacak o zaman tercih edip saklamak değerler normal VARCHAR veya bir LOB (Large object).Eğer değerleri saklı 8000'den daha az bayt ise genel olarak SQL Server VARCHAR normal bir tip gibi değerler tedavisinde kullanılır.

Eğer değerleri saklanır çok büyük sonra sütun için izin verilir düşürür sayfa için LOB sayfaları, tam olarak yapmak için diğer LOB türleri (text, ntext image) - Eğer bu olursa o zaman ek sayfa okuma için gerekli okuma olarak depolanan verilerin içinde ek sayfalar (mesela, bir performans penatly), ancakbu yalnızca değerleri saklı çok büyük olur.

Aslında altında SQL Server 2008 veya sonraki bir veri olabilir taşması üzerine ek sayfalar bile sabit uzunlukta veri türleri (örneğin VARCHAR(3,000)), ancak bu sayfaları adı verilen satır taşma veri sayfaları ve tedavi biraz daha farklı.

Kısa versiyon:depolama bir bakış açısıyla N VARCHAR(N) VARCHAR(MAX) kullanmanın dezavantajı yok.

(Bu da değişken uzunlukta diğer alan türleri NVARCHAR VARBINARY) için geçerlidir

BİLGİNİZE - can't create indexes on VARCHAR(MAX) columns

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • UKF

    UKF

    2 Aralık 2009