Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Microsoft Fabric'teki SQL Veritabanı
SQL Server'ın her sürümü için hangi columnstore özelliklerinin kullanılabilir olduğunu ve SQL Veritabanı, Azure Synapse Analytics ve Analytics Platform Sistemi'nin (PDW) en son sürümlerini öğrenin.
Ürün sürümleri için özellik özeti
Bu tabloda columnstore dizinleri ve bunların kullanılabildiği ürünler için temel özellikler özetlenmektedir.
Columnstore Dizin Özelliği | SQL Server 2016 (13.x)1 | SQL Server 2017 (14.x) | SQL Server 2019 (15.x) | SQL Server 2022 (16.x) | SQL Server 2025 (17.x) Önizlemesi | Azure SQL Veritabanı2 ve Azure SQL Yönetilen ÖrneğiAUTD | Azure Synapse Analytics ayrılmış SQL havuzu |
---|---|---|---|---|---|---|---|
3 çok iş parçacıklı sorgular için toplu yürütme modu | evet | evet | evet | evet | evet | evet | evet |
Tek iş parçacıklı sorguların toplu iş modunda yürütülmesi | evet | evet | evet | evet | evet | evet | evet |
Arşiv sıkıştırma seçeneği | evet | evet | evet | evet | evet | evet | evet |
Anlık görüntü yalıtımı ve okundu olarak işlenen anlık görüntü yalıtımı | evet | evet | evet | evet | evet | evet | evet |
Tablo oluştururken columnstore dizinini belirtme | evet | evet | evet | evet | evet | evet | evet |
Always On, columnstore dizinlerini destekler | evet | evet | evet | evet | evet | evet | evet |
Always On özelliğine sahip okunabilir ikincil, salt okunur kümelenmemiş sütun deposu dizinini destekler. | evet | evet | evet | evet | evet | evet | evet |
Always On okunabilir ikincil yapı, güncellenebilir columnstore dizinleri destekler. | evet | evet | evet | evet | evet | ||
Yığın veya B ağacında salt okunur kümesiz sütun deposu dizini | Evet 4 | Evet 4 | Evet 4 | Evet 4 | Evet 4 | Evet 4 | Evet 4 |
B ağacı veya yığın (heap) üzerinde güncellenebilir kümelenmemiş sütun deposu dizini | evet | evet | evet | evet | evet | evet | evet |
Kümesiz columnstore dizinine sahip olan bir yığın veya B ağacı üzerinde ek B ağacı dizinlerine izin verilir. | evet | evet | evet | evet | evet | evet | evet |
Güncellenebilir kümelenmiş columnstore indeksi | evet | evet | evet | evet | evet | evet | evet |
Kümelenmiş columnstore dizininde B ağacı dizini | evet | evet | evet | evet | evet | evet | evet |
Bellek için iyileştirilmiş bir tabloda Columnstore dizini | evet | evet | evet | evet | evet | evet | evet |
Kümelenmemiş columnstore dizin tanımı, filtrelenmiş koşul kullanmayı destekler | evet | evet | evet | evet | evet | evet | evet |
CREATE TABLE ve ALTER TABLE sütun deposu dizinleri için sıkıştırma gecikmesi seçeneği |
evet | evet | evet | evet | evet | evet | evet |
nvarchar(max) türü desteği | evet | evet | evet | evet | evet | yok 5 | |
Columnstore dizini, kalıcı olmayan bir şekilde hesaplanan bir sütuna sahip olabilir | evet | evet | evet | evet | |||
Demet taşıyıcı arka plan birleştirme desteği | evet | evet | evet | evet | evet | ||
Düzenli kümelenmiş sütun deposu dizinleri | evet | evet | evet | evet | |||
Sıralı kümelenmemiş columnstore indeksleri | evet | evet | |||||
Çevrimiçi sütun deposu dizini oluşturma ve yeniden oluşturma | evet | evet | evet | ||||
Çevrimiçi sıralı columnstore dizini oluşturma ve yeniden oluşturma | evet | evet |
1 SQL Server 2016 (13.x) SP1 ve sonraki sürümleri için columnstore dizinleri tüm sürümlerde kullanılabilir. SQL Server 2016 (13.x) (SP1 öncesi) ve önceki sürümler için columnstore dizinleri yalnızca Enterprise Edition'da kullanılabilir.
2 Azure SQL Veritabanı için columnstore dizinleri DTU Premium katmanlarında, DTU Standart katmanlarında ( S3 ve üzeri) ve tüm sanal çekirdek katmanlarında kullanılabilir.
3toplu iş modu işlemleri için paralellik (DOP) derecesi SQL Server Standard Edition için 2, SQL Server Web ve Express Sürümleri için 1 ile sınırlıdır. Bu sınırlama, disk tabanlı tablolar ve bellek için iyileştirilmiş tablolar üzerinde oluşturulan columnstore dizinlerini ifade eder.
4 Salt okunur bir kümelenmemiş columnstore dizini oluşturmak için, dizini salt okunur bir dosya grubunda depolayın.
5 Ayrılmış SQL havuzlarında desteklenmez ancak sunucusuz SQL havuzunda desteklenir.
SQL Server 2025 (17.x)
SQL Server 2025 (17.x) Önizlemesi şu özellikleri ekledi:
Sıralı, kümelenmemiş sütun deposu gerçek zamanlı operasyonel analizlerde sorgu performansını artırır.
Daha fazla bilgi için bkz. Sıralı columnstore dizinleriyle performans ayarlama.
Sıralı columnstore dizini (kümelenmiş veya kümelenmemiş) artık çevrimiçi olarak oluşturulabilir veya yeniden oluşturulabilir.
ONLINE = ON
yan tümcesi mevcut olduğunda CREATE INDEX deyimindeORDER
belirtebilirsiniz. Çevrimiçi dizin işlemleri hakkında daha fazla bilgi için bkz. Dizin işlemlerini çevrimiçi gerçekleştirme.Sıralı kümelenmiş columnstore dizinleri için iyileştirilmiş sıralama kalitesi.
SQL Server 2025 (17.x) Önizleme sürümünde, sıralı bir kümelenmiş columnstore dizini çevrimiçi olarak oluşturulduğunda, sıralama algoritması bellekteki verileri sıralamak yerine kullanır
tempdb
. Dizin derlemesi için 1 iseMAXDOP
, derleme çakışan segmentlere sahip olmayan tam sıralı bir kümelenmiş columnstore dizini oluşturur.Bu, dizini kullanarak sorguların performansını artırabilir. Ancak, taşmalar
tempdb
nedeniyle gerekli ek G/Ç yüzünden dizin oluşturma daha uzun sürebilir.Kümelenmiş bir columnstore dizini zaten varsa, tam olarak sıralanmış çevrimiçi dizin yeniden oluşturma işlemi devam ederken sorgular bunu kullanmaya devam edebilir.
Geliştirilmiş veritabanı ve dosya küçültme işlemleri.
SQL Server'ın önceki sürümlerinde kümelenmiş columnstore dizini varchar(max), nvarchar(max), varbinary(max)gibi LOB veri türlerine sahip sütunlar içerdiğinde, bu sütunlar tarafından kullanılan veri sayfaları küçültme işlemleri tarafından taşınamaz. Sonuç olarak, küçültme veri dosyalarındaki alanı geri kazanmada daha az etkili olabilir.
SQL Server 2025 (17.x) Önizlemesi'nde hem
DBCC SHRINKDATABASE
hem deDBCC SHRINKFILE
komutları, columnstore dizinlerindeki LOB sütunları tarafından kullanılan veri sayfalarını taşıyabilir.
SQL Server 2022 (16.x)
SQL Server 2022 (16.x) şu özellikleri ekledi:
- Sıralı kümelenmiş columnstore dizinleri, sıralı sütun koşullarını temel alarak sorguların performansını artırır. Sıralı columnstore dizinleri, veri kesimlerini tamamen atlayarak performansı artırabilir. Bu, columnstore verilerinde sorguların tamamlanması için gereken girdi/çıktı işlemlerini önemli ölçüde azaltabilir. Daha fazla bilgi için bkz. bölüm eleme. Daha fazla bilgi için bkz. CREATE COLUMNSTORE INDEX ve sıralı columnstore dizinleriyle performans ayarlama.
- Dizelerin kümelenmiş columnstore satır grubu elenmesiyle koşul gönderimi, dize aramalarını iyileştirmek için sınır değerlerini kullanır. Tüm columnstore dizinleri, veri türüne göre gelişmiş segment eleme özelliğinden yararlanmaktadır. SQL Server 2022 'den (16.x) başlayarak, bu segment eleme özellikleri dize, ikili ve GUID veri türlerine ve ikiden büyük bir ölçek için datetimeoffset veri türüne genişletir. Daha önce, columnstore segment eleme yalnızca sayısal, tarih ve saat veri türleri ile ölçeği ikiden küçük veya buna eşit olan datetimeoffset veri türüne uygulanmaktaydı. SQL Server'ın dize min/mak segmentlerinin elemine olanak tanıyan bir sürümüne (SQL Server 2022 (16.x) ve sonraki sürümleri) yükselttikten sonra, columnstore dizini
ALTER INDEX REBUILD
veyaCREATE INDEX WITH (DROP_EXISTING = ON)
kullanılarak yeniden oluşturulana kadar bu özellikten yararlanamaz. - Columnstore satır gruplarının, örneğin
LIKE
gibicolumn LIKE 'string%'
koşullarının ön ekleri için elenmesi. Segment kaldırma,LIKE
'nincolumn LIKE '%string'
gibi öneksiz kullanımı için desteklenmez. - Eklenen özellikler hakkında daha fazla bilgi için bkz. SQL Server 2022'deki yenilikler.
SQL Server 2019 (15.x)
SQL Server 2019 (15.x) şu yeni özellikleri ekler:
İşlevsel
SQL Server 2019 (15.x) ile birlikte, tuple mover, arka planda çalışan birleştirme görevi sayesinde desteklenir. Bu görev, belirli bir süre geçtikten sonra iç bir eşik tarafından belirlenen daha küçük OPEN delta satır gruplarını otomatik olarak sıkıştırır veya birçok satırın silindiği COMPRESSED satır gruplarını birleştirir. Daha önce, satır gruplarını kısmen silinmiş verilerle birleştirmek için dizin yeniden düzenleme işlemi gerekiyordu. Bu, columnstore dizin kalitesini zamanla artırır.
SQL Server 2017 (14.x)
SQL Server 2017 (14.x) bu yeni özellikleri ekler.
İşlevsel
- SQL Server 2017 (14.x), kümelenmiş sütun deposu dizinlerinde kalıcı olmayan hesaplanan sütunları destekler. Kalıcı hesaplanan sütunlar kümelenmiş sütun deposu dizinlerinde desteklenmez. Hesaplanan bir sütunda kümelenmemiş sütun deposu dizini oluşturamazsınız.
SQL Server 2016 (13.x)
SQL Server 2016 (13.x), columnstore dizinlerinin performansını ve esnekliğini geliştirmek için önemli geliştirmeler ekler. Bu geliştirmeler, veri ambarı senaryolarını geliştirir ve gerçek zamanlı operasyonel analiz sağlar.
İşlevsel
Bir satır depolama tablosunda güncellenebilir bir sütun depolama dizini olabilir. Daha önce, kümelenmemiş sütun deposu dizini sadece okunabilirdi.
Kümelenmemiş columnstore dizin tanımı, filtrelenmiş koşul kullanmayı destekler. OLTP tablosuna columnstore dizini eklemenin performans etkisini en aza indirmek için filtrelenmiş bir koşul kullanarak yalnızca işletimsel iş yükünüzün soğuk verileri üzerinde bir kümelenmemiş columnstore dizini oluşturun.
Bellek içi tabloda bir sütun deposu dizini olabilir. Tablo oluşturulduğunda oluşturabilir veya daha sonra ALTER TABLE (Transact-SQL)ile ekleyebilirsiniz. Daha önce, yalnızca disk tabanlı bir tabloda columnstore index bulunabilirdi.
Kümelenmiş sütun deposu dizininde bir veya daha fazla kümelenmemiş satır deposu dizini olabilir. Daha önce columnstore dizini, kümelenmemiş dizinleri desteklemiyordu. SQL Server, DML işlemleri için kümelenmemiş dizinleri otomatik olarak korur.
Kümelenmiş sütun deposu dizininde bu kısıtlamaları uygulamak için B-ağacı dizini kullanarak birincil anahtarlar ve yabancı anahtarlar için destek sağlanır.
Columnstore dizinleri, işlem iş yükünün gerçek zamanlı operasyonel analiz üzerindeki etkisini en aza indiren bir sıkıştırma gecikmesi seçeneğine sahiptir. Bu seçenek, sık sık değişen satırların columnstore'da sıkıştırılmadan önce istikrar kazanmasını sağlar. Ayrıntılar için bkz. CREATE COLUMNSTORE INDEX (Transact-SQL) ve Gerçek zamanlı operasyonel analiziçin Columnstore'u kullanmaya başlama.
Veritabanı uyumluluk düzeyi 120 veya 130 için performans
Columnstore dizinleri, kaydedilmiş anlık görüntü yalıtım düzeyini (RCSI) ve anlık görüntü yalıtımını (SI) destekler. Bu, kilit kullanmadan işlem tutarlılığı olan analitik sorguları etkinleştirir.
Columnstore, dizini açıkça yeniden derlemeye gerek kalmadan silinen satırları kaldırarak dizin birleştirmeyi destekler.
ALTER INDEX ... REORGANIZE
deyimi, içsel olarak tanımlanmış bir politikaya göre, çevrimiçi bir işlem olarak silinmiş satırları columnstore'dan çıkartır.Columnstore dizinlerine Always On okunabilir bir ikincil kopya üzerinde erişilebilir. Analiz sorgularını Always On yedek replikaya aktararak operasyonel analiz performansını artırabilirsiniz.
Toplu İletim, veri türü en fazla 8 bayt kullandığında ve bir dize veri türü olmadığında, tablo taramaları sırasında
MIN
,MAX
,SUM
,COUNT
veAVG
toplama işlevlerini hesaplar. Toplu iteleme, hem kümelenmiş columnstore dizinleri hem de kümelenmemiş columnstore dizinleri içinGROUP BY
yan tümcesi ile veya olmadan desteklenir. SQL Server'da bu geliştirme Enterprise sürümü için ayrılmıştır.Koşul iletimi, VARCHAR/CHAR veya NVARCHAR/NCHAR türündeki dizeleri karşılaştıran sorguları hızlandırır. Bu, yaygın karşılaştırma işleçleri için geçerlidir ve bit eşlem filtreleri kullanan
LIKE
gibi işleçleri içerir. Bu, desteklenen tüm harmanlamalarla çalışır. SQL Server'da bu geliştirme Enterprise sürümü için ayrılmıştır.Vektör tabanlı donanım özelliklerinden yararlanarak toplu iş modu işlemlerine yönelik iyileştirmeler. Veritabanı Altyapısı, AVX 2 (Gelişmiş Vektör Uzantıları) ve SSE 4 (Akış SIMD Uzantıları 4) donanım uzantıları için CPU desteği düzeyini algılar ve destekleniyorsa bunları kullanır. SQL Server'da bu geliştirme Enterprise sürümü için ayrılmıştır.
Veritabanı uyumluluk düzeyi 130 için performans
Bu işlemlerden herhangi birini kullanan sorgular için yeni toplu iş modu yürütme desteği:
SORT
- Birden çok farklı işlev içeren toplamalar. Bazı örnekler:
COUNT/COUNT
,AVG/SUM
,CHECKSUM_AGG
,STDEV/STDEVP
- Pencere toplama işlevleri:
COUNT
,COUNT_BIG
,SUM
,AVG
,MIN
,MAX
veCLR
- Pencere kullanıcı tanımlı toplamlar:
CHECKSUM_AGG
,STDEV
,STDEVP
,VAR
,VARP
veGROUPING
- Window toplulaştırma analitik işlevleri:
LAG
,LEAD
,FIRST_VALUE
,LAST_VALUE
,PERCENTILE_CONT
,PERCENTILE_DISC
,CUME_DIST
vePERCENT_RANK
MAXDOP 1
altında veya seri sorgu planıyla çalışan tek iş parçacıklı sorgular toplu modda yürütülür. Önceden, toplu yürütme yalnızca çok iş parçacıklı sorgular ile yapılabilirdi.Bellek için iyileştirilmiş tablo sorguları, hem satır deposundaki hem de sütun deposu dizinindeki verilere erişirken SQL InterOp modunda paralel planlar kullanabilir.
Desteklenebilirlik
Bu sistem görünümleri columnstore için yenidir:
Bellek içi OLTP tabanlı bu DMV'ler, sütun depoları için güncelleştirmeler içerir.
Sınırlama
- Bellek içi tablolar için columnstore dizini tüm sütunları içermelidir; columnstore dizini filtrelenmiş bir koşula sahip olamaz.
- Bellek içi tablolar için sütun deposu dizinlerindeki sorgular yalnızca birlikte çalışma modunda çalışır, yerel derleme modunda çalışmaz. Paralel yürütme desteklenir.
Bilinen sorunlar
Şunlar için geçerlidir: SQL Server 2022 (16.x) ve eski sürümler, Azure SQL Yönetilen Örneği2022
- Sıkıştırılmış columnstore segmentlerindeki LOB sütunlar (varbinary(max), varchar(max) ve nvarchar(max)) tarafından kullanılan veri sayfaları
DBCC SHRINKDATABASE
veDBCC SHRINKFILE
tarafından taşınamaz. Bu sorun SQL Server 2025 (17.x) Önizleme sürümünde giderilmiştir.
SQL Server 2014 (12.x)
SQL Server 2014 (12.x), kümelenmiş columnstore dizinini birincil depolama biçimi olarak tanıttı. Bu, düzenli yüklemelerin yanı sıra güncelleştirme, silme ve ekleme işlemlerine de izin verdi.
- Tablo, birincil tablonun depolama alanı olarak kümelenmiş sütun depolama dizinini kullanabilir. Tabloda başka dizine izin verilmez, ancak kümelenmiş columnstore dizini güncelleştirilebilir, böylece normal yüklemeler gerçekleştirebilir ve tek tek satırlarda değişiklik yapabilirsiniz.
- Kümelenmemiş columnstore dizini, artık toplu iş modunda yürütülebilen ek işleçler dışında SQL Server 2012 (11.x) ile aynı işlevselliğe sahip olmaya devam eder. Yeniden oluşturma ve bölüm değiştirme kullanma dışında yine de güncelleştirilemez. Kümelenmemiş columnstore dizini yalnızca disk tabanlı tablolarda desteklenir, bellek içi tablolarda desteklenmez.
- Kümelenmiş ve kümelenmemiş columnstore dizini, verileri daha fazla sıkıştıran bir arşiv sıkıştırma seçeneğine sahiptir. Arşivleme seçeneği hem bellekte hem de diskte veri boyutunu küçültmek için kullanışlıdır, ancak sorgu performansını yavaşlatmaktadır. Seyrek erişilen veriler için iyi çalışır.
- Kümelenmiş columnstore dizini ve kümelenmemiş columnstore dizin işlevi çok benzer bir şekilde; aynı sütunlu depolama biçimini, aynı sorgu işleme altyapısını ve aynı dinamik yönetim görünümleri kümesini kullanır. Fark, birincil ve ikincil dizin türleri arasındadır ve kümelenmemiş sütun deposu dizini salt okunurdur.
- Bu işleçler çok iş parçacıklı sorgular için toplu iş modunda çalışır: tarama, filtreleme, proje, birleştirme, gruplandırma ve tümünü birleştirme.
SQL Server 2012 (11.x)
SQL Server 2012 (11.x), sıralı olmayan columnstore dizinini satır deposu tablolarında başka bir dizin türü olarak ve columnstore verilerindeki sorgular için toplu işlem olarak tanıttı.
- Bir satır deposu tablosunda bir tane kümelenmemiş sütun deposu dizini olabilir.
- Columnstore dizini salt okunurdur. Columnstore dizinini oluşturduktan sonra, tabloyu
INSERT
,DELETE
veUPDATE
işlemleriyle güncelleştiremezsiniz; bu işlemleri gerçekleştirmek için dizini bırakmanız, tabloyu güncelleştirmeniz ve columnstore dizinini yeniden oluşturmanız gerekir. Bölüm değiştirme kullanarak tabloya ek veriler yükleyebilirsiniz. Bölüm değiştirmenin avantajı, columnstore dizinini bırakmadan ve yeniden derlemeden veri yükleyebilmenizdir. - Columnstore dizini, verilerin bir kopyasını depoladığı için her zaman fazladan depolama alanı (genellikle rowstore üzerinden 10% daha) gerektirir.
- Toplu işlem 2 kat veya daha iyi sorgu performansı sağlar, ancak yalnızca paralel sorgu yürütme için kullanılabilir.
İlgili içerik
- Columnstore dizinleri - Tasarım kılavuzu
- Sütun depolu dizinler - Veri yükleme kılavuzu
- Sütun Deposu Dizinleri - Sorgu Performansı
- Gerçek zamanlı operasyonel analiz için Columnstore ile çalışmaya başlama
- Veri ambarı oluşturmada columnstore dizinleri
- Sorgu performansını geliştirmek ve kaynak tüketimini azaltmak için dizin bakımını iyileştirme