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.
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. |
| tinyint | Veri 0 ile 255 tamsayı. Depolama 1 bayt boyutudur. |
| bit | 1 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. |
| Money | Parasal 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. |
| float | Kayan nokta sayı veri - 1.79E + 308 1.79E + 308 ile depolama boyutu 8 bayttır. |
| gerçek | Kayan duyarlık numara veriler - 3.40E + 38 3.40E + 38'den. |
| DateTime | 1 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. |
| ntext | Değ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. |
| uniqueidentifier | Bİ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. |
| rowguidcol | Bir 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ütun | Veri Türü | Bayt cinsinden boyutu | Genel gider bayt |
|---|
| 1 | nvarchar | 25 | 1 |
| 2 | nchar | 25 | 1 |
| 3 | bigint | 8 | 1 |
| 4 | DateTime | 8 | 1 |
| Yok | Genel gideri | Yok | 6 |
| Toplamları | | 66 | 10 |
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ütun | Veri Türü | Bayt cinsinden boyutu | Genel gider bayt |
|---|
| MüşteriNo | nvarchar | 5 | 1 |
| Şirket adı | nvarchar | 40 | 1 |
| KişiAdı | nvarchar | 30 | 1 |
| KişiÜnvanı | nvarchar | 30 | 1 |
| Adres | nvarchar | 60 | 1 |
| Şehir | nvarchar | 15 | 1 |
| Bölge | nvarchar | 15 | 1 |
| PostaKodu | nvarchar | 10 | 1 |
| Ülke | nvarchar | 15 | 1 |
| Telefon | nvarchar | 24 | 1 |
| Faks | nvarchar | 24 | 1 |
| Yok | Satır genel gider | Yok | 6 |
| Yok | 256 Bayttan büyük için genel gideri | Yok | 1 |
| Yok | Çoğaltma için Tamsayı | 4 | 1 |
| Yok | UniqueIdentifier çoğaltması | 16 | 1 |
| Yok | Ikili | 24 | 1 |
| 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ütun | Veri Türü | Bayt cinsinden boyutu | Genel gider bayt |
|---|
| MüşteriNo (pk) | nvarchar | 5 | 1 |
| Şirket adı (pk) | nvarchar | 40 | 1 |
| KişiAdı | nvarchar | 30 | 1 |
| KişiÜnvanı | nvarchar | 30 | 1 |
| Adres | nvarchar | 60 | 1 |
| Şehir | nvarchar | 15 | 1 |
| Bölge | nvarchar | 15 | 1 |
| PostaKodu | nvarchar | 10 | 1 |
| Ülke | nvarchar | 15 | 1 |
| Telefon | nvarchar | 24 | 1 |
| Faks | nvarchar | 24 | 1 |
| Yok | Satır genel gider | Yok | 6 |
| Yok | 256 Bayttan büyük için genel gideri | Yok | 1 |
| Yok | Tamsayı RDA için | 4 | 1 |
| Yok | Ikili 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/273 | 20 |
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.