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
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
PostgreSQL: metin ve ikilik (karakter ...
Nasıl belirli bir yerde, bir cmd pence...
Bir yerde JAR dosyaları onlarca içinde...
'en uzun olası dünya çapında tele...
Tüm metin tabanlı alanlar genel bir ik...