SORU
7 Mayıs 2009, PERŞEMBE


SQL Server üzerinde kullanarak ikilik(MAX) vs METİN

Ben sadece VARCHAR(MAX) veri türü, char veri kapat 2 GB depolayabilen () SQL Server TEXT 2005 veri türü için önerilen değişiklik olduğunu okudum .

Eğer herhangi bir dize için bir sütun içinde arama yapmak istiyorum, hangi işlem daha hızlıdır?

  1. VARCHAR(MAX) bir sütun karşı bir LIKE Madde kullanıyor mu?

    WHERE COL1 LIKE '%search string%'

  2. TEXT sütun kullanarak ve putTam Metin Dizini/Katalogbu sütun, ve sonra arama CONTAINS madde kullanıyor mu?

    WHERE CONTAINS (Col1, 'MyToken')

CEVAP
7 Mayıs 2009, PERŞEMBE


VARCHAR(MAX) tipi TEXT yerine geçer. Temel fark bir TEXT yazın daima deposu veri bir blob ise VARCHAR(MAX) yazın girişiminde bulunur deposu veri doğrudan satır sürece aşıyor 8k sınırlama ve bu noktada saklar içinde bir damla.

GİBİ bir ifade kullanarak iki veri arasında aynıdır. İşlevsellik VARCHAR(MAX) verir ve bunu, bu ek de VARCHAR başka bir sütun gibi = GROUP BY ile kullanılabilir. Eğer çok fazla veri varsa, ancak, büyük bir performans sorunu bu yöntemleri kullanarak olacaktır.

LIKE arama için kullanmanız gerekir, ya da eğer eğer sen-meli kullanma konusundaTam Metin Dizin Oluşturma17**. Bu soru ne olursa olsun aynı VARCHAR(MAX) TEXT.

Büyük miktarda metin arama ve anahtar performans ise o zaman kullanmalısınızTam Metin Dizini.

LIKE uygulamak için daha kolay ve sık sık küçük miktarlarda veri için uygundur, ama büyük veri bir dizin kullanmak için kendi yetersizlik nedeniyle son derece kötü performans vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CHISTOSITOJAJA

    CHISTOSITOJA

    27 HAZİRAN 2010
  • UKF

    UKF

    2 Aralık 2009
  • WK

    WK

    9 Ocak 2006