Saya punya tabel dengan ~ 200 juta baris dan ~ 15 kolom di dalamnya. Saya berencana membuat COLUMNSTORE
indeks di meja saya.
Apakah akan ada perubahan dalam kinerja berdasarkan urutan kolom yang saya gunakan dalam indeks toko kolom? Jika ya, apa logika di baliknya?
sql-server
database-design
sql-server-2012
index
columnstore
Vinay Kumar Chella
sumber
sumber
Jawaban:
Tidak, pesanan tidak masalah. Setiap kolom dipertimbangkan secara individual.
Dari tim SQL Server (penekanan ditambahkan):
sumber
pesanan tidak masalah, apa masalahnya jika Anda harus menyertakan SEMUA kolom dari tabel dasar dalam indeks columnstore - lebih lanjut melalui jawaban saya sebelumnya untuk pertanyaan ini di sini
sumber
Dalam SQL Server 2012-2016 Anda memiliki konsep penghapusan Segmen ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) dan Anda benar-benar dapat memaksa urutan setidaknya 1 kolom (ditambah 1 ekstra di dalam setiap partisi).
Pertimbangkan artikel berikut yang menjelaskan pemuatan data untuk penghapusan segmen yang lebih baik: Pemuatan Data untuk Penghapusan Segmen yang Lebih Baik
sumber
Ada jawaban hebat yang sudah ada dari Aaron dari 2012, Untuk memperluas ...
Dengan SQL 2014+, Anda memiliki indeks clustered storestore yang tersedia. Saat membuat indeks penyimpanan kolom berkerumun, tidak ada pilihan kolom atau opsi pesanan yang tersedia. Indeks Columnstore Dijelaskan
sumber