Makale numarası: 827968 - Son Gözden Geçirme: 20 Kasım 2007 Salı - Gözden geçirme: 4.7

Nasıl yapılır: SQL Server CE veya SQL Server 2005 Mobile Edition veritabanı boyutunu tahmin et

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, Microsoft SQL Server 2000 Windows CE Edition veritabanını veya SQL Server 2005 Mobile Edition veritabanı boyutunu tahmin açıklamaktadır. Ancak, bu tahmin aşağıdaki nedenlerden dolayı gerçek doğrulukla belirlenemiyor:
  • Özellikle SQL Server CE veya SQL Server 2005 Mobile Edition eşitleme kullandığınızda sistem tablosu boyutu değişebilir.
  • Tahmin, dizinleri tarafından kullanılan alanı için hesap değil.
  • Kolaylık olması açısından, tahmin bitişik satır depolama varsayar (yani, bir veritabanını sıkıştırın sonra). SQL Server CE veya SQL Server 2005 Mobile Edition, satır 4 KB sayfalarında saklar ve satırlar için metin ve ntext veri türleri dışında sayfalar arasında bölmek değil. Tüm sayfaları her zaman dolu olduğundan, bazı kullanılmayan alanı, tek tek sayfaları bulunmaktadır. Veritabanı Sıkıştırıldıktan kadar Ayrıca, bir sayfa satır ve bazı satırları silinir, silinmiş satırlar girebileceğiniz iadesi değil. Bir çalışma sayfasındaki tüm satırlar silinir, sayfa daha sonra iadesi.
  • Bazı veri türlerinin uzunluğu, içerdikleri, nvarchar ve ntext veri türleri de dahil olmak üzere verilere bağlı olarak değişebilir. Bir sütunun boyutunu tahmin etme, tahmin en fazla sütun boyutu, sütunda depolanan verilerin gerçek boyutu değil temel alır. Örneğin, bir sütun nvarchar(50) veri türü varsa ve "Merhaba" değeri, fiili sütun 5 bayt boyutudur, ancak tahmini boyutu 50 bayttır.

Daha fazla bilgi

Bir tablo veya veritabanı boyutu tahmin, aşağıdaki bilgileri göz önüne alın:
  • Tablodaki her satır, 6 baytlık bir ek yük vardır.
  • Tablodaki her sütun için 1 bayt artı 1 bayt her satır depolama 256 bayt için bir ek yük vardır.
  • Her sütun için 1 baytlık bir ek yük sabit uzunluklu veri türü varsa ve yükü daha sonraki bayta yuvarlanır.
  • Sıfır uzunluklu dize sütun, satırda 1 bayt alır.
  • SQL Server CE veya SQL Server 2005 Mobile Edition verileri Unicode biçiminde depolar. Veritabanını oluşturmak için kullanılan harmanlama dize (DBCS) dilini (örneğin, kanji) bir çift bayt karakter, her bayt 2 bayt depolandığından dize sütunların boyutunu çift. Veritabanını oluşturmak için kullanılan harmanlama dize (SBCS) dil (ingilizce gibi) bir tek baytlı karakter kümesi, SQL Server CE başında kullanılmayan bayt kaldırır. SBCS sonuç olarak harmanlama dizeleri, her karakterin 1 bayt olarak tahmin edilir.
  • SQL Server CE tablolar veya SQL Server 2005 Mobile Edition tabloların birleştirme çoğaltması kullanılıyorsa, her tablo için üç sistem sütunlar vardır.
  • SQL Server CE tablolar veya SQL Server 2005 Mobile Edition tabloları uzak veri yer yoksa (RDA), Access her tablo için 2 sistem sütunlar vardır.
Aşağıdaki tabloda, SQL Server CE ve her veri türü için depolama boyutunu veri türleri açıklanmıştır.
Bu tabloyu kapaBu tabloyu aç
Veri TürüAçıklama
bigint<a1>Tamsayı</a1> (tamsayı) veri -2 ^ 63 (- 9,223,372,036,854,775,808) ile 2 ^ 63-1 (9,223,372,036,854,775,807). Depolama 8 bayt boyutudur.
Tamsayı<a1>Tamsayı</a1> (tamsayı) veri -2 ^ 31 (-2,147,483,648) ile 2 ^ 31-1 (2.147.483.647). Depolama boyutu 4 bayttır.
smallint–32, 768 32,767'Için veriler tamsayı. Depolama boyutu 2 bayttır.
tinyintVeri 0 ile 255 tamsayı. Depolama 1 bayt boyutudur.
bit1 Veya 0 değeri tamsayı veri.
sayısal (p, s)Sabit-duyarlık ve ölçeği sayısal verileri -10 ^ 38 + 1 ile 10 ^ 38? 1. P, duyarlık belirtir ve 1 ile 38 arasında değişebilir. S, Ölçek ve değişebilir belirtir 0-p. arasında sayısal bağımsız olarak, duyarlık ve ölçeği 19 bayt her zaman kullanır.
MoneyParasal veri değerleri -2 ^ 63 (- 922,337,203,685,477.5808) ile 2 ^ 63-1 (922,337,203,685,477.5807), bir doğruluk için para biriminin bir on-214.748,3648 ile. Depolama 8 bayt boyutudur.
floatKayan nokta sayı veri - 1.79E + 308 1.79E + 308 ile depolama boyutu 8 bayttır.
gerçekKayan duyarlık numara veriler - 3.40E + 38 3.40E + 38'den.
DateTime1 Ocak 1753 31 Aralık da bir tane üç içerecek bir ikinci ya da 3.33 milisaniye doğruluğunu ile 9999 veriler tarih ve saat. Değerler.000,.003 veya.007 milisaniye artışlarla yuvarlanır. Olarak depolanır iki 4 bayt tamsayı. Ilk 4 bayt gün önce veya sonra temel tarih (1 Ocak 1900) depolar. Sistemin Başvuru tarihi temel tarihtir. 1 Ocak 1753 eski olan datetime değerleri izin verilmez. Diğer 4 bayt, günün gece yarısından sonra kaç milisaniye depolar. Saniye, 0 ile 59 arasında geçerli bir aralık var.
Ulusal character(n) Veri türünün eşanlamlısı: nchar(n)Uzunluğu en fazla 255 karakter içeren sabit uzunluklu Unicode veri. Varsayılan uzunluğu 1'dir. Depolama boyutu (bayt cinsinden iki kez girdiğiniz karakter sayısıdır.
Ulusal karakter varying(n) Veri türünün eşanlamlısı: nvarchar(n)Değişken uzunluklu Unicode veri 1 ile 255 karakter uzunluğunda. Varsayılan uzunluğu 1'dir. Depolama boyutu (bayt cinsinden iki kez girdiğiniz karakter sayısıdır.
ntextDeğişken uzunluklu Unicode veri ile en fazla uzunluğu (2 ^ 30-2) / 2 (536,870,911) karakterleri. Depolama boyutu (bayt cinsinden iki kez girdiğiniz karakter sayısıdır.
binary(n)510 Baytlık en büyük uzunluğu olan sabit uzunlukta ikili veri. Varsayılan uzunluğu 1'dir.
varbinary(n)510 Baytlık en büyük uzunluğu olan değişken uzunlukta ikili veri. Varsayılan uzunluğu 1'dir.
görüntüDeğişken uzunluklu ikili verileri uzunluğu en fazla 2 ^ 30-1 (1,073,741,823) bayt.
uniqueidentifierBİR GUID. Depolama boyutu 16 bayttır.
IDENTITY [(s, i)]Bir veri sütununu veya bir çok farklı veri türü özelliğidir. Tamsayı veri türlerini, yalnızca veri sütunlarını, kimlik sütunlarının için kullanılabilir. Bir tablonun yalnızca bir kimlik sütunu olabilir. Bir çekirdek ve Artım belirtilebilir ve sütun güncelleştirilemez. <a1>s</a1> (Çekirdek) = başlangıç değeri <a1>i</a1> (artırma) = artış değeri.
rowguidcolBir veri sütununu veya bir çok farklı veri türü özelliğidir. Uniqueidentifier veri türü kullanılarak tanımlanmış bir tablodaki sütun budur. Bir tablo, yalnızca bir ROWGUIDCOL sütun olabilir.

SQL Server 2005 Mobile Edition kullanıyorsanız

SQL Server 2005 Mobile Edition'da veri türleri hakkında daha fazla bilgi için bkz: "Veri tiplerini" konusundaki SQL Server 2005 Books Online'da.

Aşağıdaki senaryolarda, sütun, satır sayısı, harmanlamayı ve eşitleme türü veri türüne bağlı bir tablonun boyutunu tahmin.

Senaryo 1

Bu senaryoda, myTableA1 tablonun boyutunu tahmin edilmektedir. Tablo, aşağıdaki özelliklere sahiptir:
  • MyTableA1 Tablo 10.000 satırlar var.
  • MyTableA1 tablo ile ingilizce varsayılan harmanlama olarak oluşturulur ve tabloyu herhangi bir SQL Server CE eşitleme biçimini kullanın.
Aşağıdaki tabloda, myTableA1 tablodaki her sütun türünü ve her bir sütun tarafından kullanılan bayt sayısını açıklar.
Bu tabloyu kapaBu tabloyu aç
SütunVeri TürüBayt cinsinden boyutu Genel gider bayt
1nvarchar251
2nchar251
3bigint81
4DateTime81
YokGenel gideriYok6
Toplamları6610
76 (66 + 10) Toplam boyutunu myTableA1 tablodaki her satır ise bayt. Tablo, 10.000 satırları olduğundan, myTableA1 tablonun toplam boyutu 760,000 (76 * 10, 000) bayttır. Hesaplama, nvarchar veri türü en büyük boyutu dikkate alınır, yalnızca bir tablo boyutunu tahmin olmasıdır. Tablonun geçerli boyutunu nvarchar veri türü için depolanan değere bağlı olarak değişebilir.

Not Bir sütundaki veri değerlerinin önemli ölçüde değişen beklenen, veritabanının boyutunu küçültmek için nvarchar veri türü kullanmanız gerekir.

Senaryo 2

Bu senaryoda, myTableA2 tablonun boyutunu tahmin edilmektedir. Tablo, aşağıdaki özelliklere sahiptir:
  • MyTableA2 tablo 91 satırlar var.
  • MyTableA2 tablo ile ingilizce varsayılan harmanlama olarak oluşturulur ve tablo birleştirme çoğaltmasında kullanılır.
Aşağıdaki tabloda, myTableA2 tablodaki her sütun türünü ve her bir sütun tarafından kullanılan bayt sayısını açıklar.
Bu tabloyu kapaBu tabloyu aç
SütunVeri TürüBayt cinsinden boyutu Genel gider bayt
MüşteriNonvarchar51
Şirket adınvarchar401
KişiAdınvarchar301
KişiÜnvanınvarchar301
Adresnvarchar601
Şehirnvarchar151
Bölgenvarchar151
PostaKodunvarchar101
Ülkenvarchar151
Telefonnvarchar241
Faksnvarchar241
YokSatır genel giderYok6
Yok256 Bayttan büyük için genel gideriYok1
YokÇoğaltma için Tamsayı41
YokUniqueIdentifier çoğaltması161
YokIkili241
Toplamları312 21
MyTableA2 tablonun her satırında toplam boyutunu (312 + 21) 333 olan bayt. Tablo 91 satırları olduğundan, toplam myTableA2 tablonun 30,303 bayt boyutudur. Dize sütun değerlerini gerçek boyutu bilindiğinden, bu boyut yalnızca bir tahmindir.

Senaryo 3

Bu senaryoda, myTableA3 tablonun boyutunu tahmin edilmektedir. Tablo içinde RDA katıldığı ve aşağıdaki özelliklere sahiptir:
  • MyTableA3 tablo 91 satırlar var.
  • MyTableA3 tablo ile ingilizce varsayılan harmanlama olarak oluşturulur ve RDA için izlenen sistem sütunlardan biri bir parçası olarak kullanıldığından, bu tabloda birincil anahtar sütunlarını vardır.
Aşağıdaki tabloda, myTableA3 tablodaki her sütun türünü ve her bir sütun tarafından kullanılan bayt sayısını açıklar.
Bu tabloyu kapaBu tabloyu aç
SütunVeri TürüBayt cinsinden boyutu Genel gider bayt
MüşteriNo (pk)nvarchar51
Şirket adı (pk)nvarchar401
KişiAdınvarchar301
KişiÜnvanınvarchar301
Adresnvarchar601
Şehirnvarchar151
Bölgenvarchar151
PostaKodunvarchar101
Ülkenvarchar151
Telefonnvarchar241
Faksnvarchar241
YokSatır genel giderYok6
Yok256 Bayttan büyük için genel gideriYok1
YokTamsayı RDA için41
YokIkili için RDA (4 bayt her bir sütunda birincil anahtar sütunlarını için artı bayt birincil anahtarı değiştirildi; aksi durumda ise sütun değeri, 1 bayt)53/1
Toplamları325/27320
Tablonun toplam boyutu, birincil anahtar değiştirilirse, 345'i (20 325 +) olan her satır için bir bayt. MyTableA3 tablo 91 satırları olduğundan, tablonun 31,395 bayt boyutudur. Tablonun toplam boyutu, birincil anahtarı değiştirildiğinde, 293 (20 273 +) olan her satır için bir bayt. MyTableA3 tablo 91 satırları olduğundan, tablonun 26,663 bayt boyutudur. Dize sütun değerlerini gerçek boyutu bilindiğinden, bu sadece bir tahmindir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Windows CE Edition 2.0
  • Microsoft SQL Server 2000 Windows CE Edition 1.1
  • Microsoft SQL Server 2000 Windows CE Edition
  • Microsoft SQL Server 2005 Compact Edition
Anahtar Kelimeler: 
kbmt kbtable kbdatabase kbinfo KB827968 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:827968  (http://support.microsoft.com/kb/827968/en-us/ )