2011-06-01 9 views
8

Bu sütunun harmanlanmasından farklı bir dizin oluştururken bir sütun için harmanlama belirtme olasılığı varsa ilgilenirim? Ve endekslendiğinde, dize verileri sütun harmanlamasına veya veritabanının harmanlamasına göre sıralanmış mıdır?SQL Server'da dizinlerdeki başlıklar

cevap

5

Yapabileceğine inanmıyorum. Bir harmanlama Döküm bir tablo sütunu

  • oluşturma veya değiştirme veritabanı
  • oluşturma veya değiştirme

    • : COLLATE ayrı belgelenmiş olmasına rağmen, sadece 3 o oluşabilir listelenen yerler vardır dikkat edeceğiz sentezleme

    Not

  • bu, örneğin, CREATE TABLE içinde:

    <column_definition> ::= 
    column_name <data_type> 
        [ FILESTREAM ] 
        [ COLLATE collation_name ] 
        ... 
    
    COLLATE yan tümcesine açıkça değinilen

    . CREATE INDEX Oysa

    : - bir sütun tanımı, ne de bir ekspresyon tüm burada izin verilen

    CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
        ON <object> (column [ ASC | DESC ] [ ,...n ]) 
        ... 
    

    not bir sütundur.


    Bir dizin içindeki her sütunun harmanlama ilgili tabloda yatan kolon (ler) in harmanlama aşağıdaki inanıyoruz. Veri tabanı harmanlama, CREATE/ALTER tablo deyimleri sırasında sütunlara varsayılan bir harmanlamayı sağlamak dışında, farkında olduğum kadarıyla çok fazla kullanılmaz.

    6

    Hesaplanan alanı gerekli harmanlama ile oluşturabilir ve bu alandaki dizini oluşturabilirsiniz.

    +1

    Bu, çift depolama gerektirir ..... – Pacerier

    +0

    @Pacerier Dokümanları doğru bir şekilde okuyorsam, hesaplanmış bir sütun üzerinde bir dizin oluşturmak için 'PERSISTED' kullanmanız gerekmez. – binki

    4

    Dizine eklenmiş bir görünüm oluşturmayı ve harmanlamayı seçili ifadedeki sütuna eklemeyi deneyin.

    +0

    Bunun performansının korkunç olacağına inanıyorum, http://dev.mysql.com/doc/refman/5.0/en/view-restrictions.html, http://www.percona.com/blog/2007/08/12/mysql-view-as-performance-troublemaker /, ilk etapta dizinlerin tüm noktasını yenerek ..... – Pacerier

    +1

    @Pacerier Bu eski olduğunu fark ettim, ama size bilgi ile bağlantılı olduğunu belirtmek istedim yanlış platform. 2014 yılında SQL Server, MySQL belgesinde anlatılan daha iyi performans potansiyeline sahip daha gelişmiş görünümlere sahipti. – Daniel