Neden hiç CHAR SQL VARCHAR üzerinde? | Netgez.com
SORU
12 EYLÃœL 2008, Cuma


Neden hiç CHAR SQL VARCHAR üzerinde?

CHAR eğer tüm değerler sabit genişlikte tavsiye edilir bunun farkındayım. Ama, ne? Neden sadece tüm metin alanları için VARCHAR sadece güvenli olması için almak değil.

CEVAP
12 EYLÃœL 2008, Cuma


Genel olarak seçCHARtüm satırlar için kapatmak zorunda kalacaklaraynı uzunlukta. SeçVARCHARo zamanuzunluğu değişirönemli ölçüde. CHAR da tüm satırlar aynı uzunlukta olduğundan biraz daha hızlı olabilir.

DB uygulama tarafından değişir, ama genellikle VARCHAR gerçek verilerin yanı sıra depolama (uzunluğu ya da fesih için) bir veya iki bayt kullanır. Yani (tek baytlık karakter kümesi kullanıyorsanız varsayarak) saklamak "sözcüğü . Falanca

  • CHAR(6) = 6 bayt (genel giderler)
  • (10) = 8 bayt (yük 2 bayt) VARCHAR
  • (10) = 10 bayt (yük 4 bayt) CHAR

Alt satırdaCHARolabilirdaha hızlıve daha fazlasıuzay verimlinispeten aynı uzunlukta veri (iki karakter içinde uzunluğu farkı).

Not: Microsoft SQL VARCHAR için yük 2 bayt var. Bu DB den DB değişebilir, ama genellikle havai en az 1 byte uzunluğu gösterir ya da bir VARCHAR EOL ihtiyacı var.

Gibi olduğunu işaret ederek Gaven açıklamalarda, kullanıyorsanız bir multi-byte, değişken uzunluktaki karakter kümesi gibi UTF8 sonra CHAR mağaza en fazla kaç bayt gerekli deposu sayıda karakter. Eğer UTF8 ihtiyacı en fazla 3 karakter saklamak için bayt, o zaman CHAR(6) bile sadece depolama latin1 karakter ise 18 bayt sabit olacak. Bu durumda VARCHAR çok daha iyi bir seçim olur.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • alexis gillis

    alexis gilli

    23 HAZÄ°RAN 2011
  • JonnyEthco

    JonnyEthco

    5 EKÄ°M 2006