Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Raktár a Microsoft Fabric-ben
SQL adatbázis a Microsoft Fabric-ben
Megtudhatja, hogy mely oszlopcentrikus funkciók érhetők el az SQL-platformokon és az SQL Server-verziókban.
Funkciók összefoglalása a termékkiadásokhoz
Ez a táblázat az oszlopcentrikus indexek és az elérhető termékek főbb funkcióit foglalja össze.
Az Azure SQL Managed Instance funkcióinak elérhetőségéhez az SQL Server frissítési szabályzatával kapcsolatban tekintse meg az SQL Server megfelelő verziójának oszlopát.
| Oszlopalapú index funkció | 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) | Azure SQL Database2 és Azure SQL Managed InstanceAUTD | Azure Synapse Analytics és tárház a Microsoft Fabricben |
|---|---|---|---|---|---|---|---|
| Kötegelt módú végrehajtás többszálú lekérdezésekhez3 | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Kötegelt módú végrehajtás egyszálas lekérdezésekhez | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Archiválási tömörítési beállítás | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Pillanatkép-izoláció és olvasási célú pillanatkép-izoláció | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Oszlopboltíves index megadása tábla létrehozásakor | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Az Always On támogatja az oszlopcentrikus indexeket | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Az Always On olvasható másodlagos támogatja a csak olvasható, nem fürtözött oszlopstore indexet. | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Az Always On olvasható másodlagos támogatja a frissíthető oszlop-tárolós indexeket | Igen | Igen | Igen | Igen | Igen | Nem | Nem |
| Írásvédett, nem klaszterezett oszlopos adattárolású index halom vagy B-fa esetén. | Igen4 | Igen4 | Igen4 | Igen4 | Igen4 | Igen4 | Igen4 |
| Frissíthető, klasszterezés nélküli oszloptároló index halmon vagy B-fán | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| További B-fa indexek engedélyezettek olyan halomra vagy B-fára, amely nem klaszteres oszlopalapú indexet tartalmaz. | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Frissíthető fürtözött oszlopraktár index | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| B-fa index egy fürtözött oszlopalapú tár indexen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Memória-optimált táblán oszlopalapú index | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| A nem klaszterezett oszlopalapú indexdefiníció támogatja szűrt feltétel használatát. | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
Tömörítési késleltetési lehetőség a CREATE TABLE és ALTER TABLE oszlopcentrikus indexekhez |
Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Nvarchar(max) típus támogatása | Nem | Igen | Igen | Igen | Igen | Igen | 5. szám |
| Az oszlopcentrikus index tartalmazhat nem tartós számított oszlopot. | Nem | Igen | Igen | Igen | Igen | Nem | Nem |
| A Tuple mover háttérbeli egyesítésének támogatása | Nem | Nem | Igen | Igen | Igen | Igen | Igen |
| Rendezett fürtözött oszlopstruktúrájú indexek | Nem | Nem | Nem | Igen | Igen | Igen | Igen |
| Rendezett, nem klaszterezett oszloptárolós indexek | Nem | Nem | Nem | Nem | Igen | Igen | Nem |
| Online oszlopcentrikus index létrehozása és újraépítése | Nem | Nem | Nem | Igen | Igen | Igen | Nem |
| Online rendezett oszlopcentrikus index létrehozása és újraépítése | Nem | Nem | Nem | Nem | Igen | Igen | Nem |
1 Az SQL Server 2016 (13.x) SP1 és újabb verziói esetén az oszlopcentrikus indexek minden kiadásban elérhetők. Az SQL Server 2016 (13.x) (SP1 előtti) és korábbi verziói esetében az oszlopcentrikus indexek csak az Enterprise kiadás kiadásban érhetők el. 2 Az Azure SQL Database esetében az oszlopcentrikus indexek a prémium DTU szinteken, a DTU Standard szinteken, S3 és afölött, valamint minden vCore szinten érhetők el. 3 A kötegelt módú műveletek párhuzamossági foka (DOP) legfeljebb 2 lehet az SQL Server Standard Edition és 1 az SQL Server Web- és Express Edition-kiadások esetében. Ez a korlátozás lemezalapú táblákon és memóriaoptimalizált táblákon létrehozott oszlopcentrikus indexekre vonatkozik. 4 Írásvédett, nem klaszterezett oszlopcentrikus index létrehozásához tárolja az indexet egy írásvédett fájlcsoportban. 5 Dedikált SQL-készletekben nem támogatott, de kiszolgáló nélküli SQL-készletben támogatott.
SQL Server 2025 (17.x)
Az SQL Server 2025 (17.x) a következő funkciókat adta hozzá:
A rendezett nem fürtözött oszloptár javítja a lekérdezési teljesítményt a valós idejű üzleti elemzések során.
További információ: A teljesítmény finomhangolása rendezett oszlopcentrikus indexekkel.
A rendezett (fürtözött vagy nem rendezett) oszlopcentrikus indexek mostantól online is létrehozhatók vagy újraépíthetők.
A(z)
ONLINE = ONutasításban megadhatja a(z) CREATE INDEX elemet, ha a(z)ORDERzáradék szerepel. További információ az online indexműveletekről: Indexműveletek online végrehajtása.Javított rendezési minőség a rendezett, fürtözött oszloparchitektúra indexek esetében.
Az SQL Server 2025 -ben (17.x) a rendezett fürtözött oszlopcentrikus index online létrehozásakor a rendezési algoritmus a memória adatainak rendezése helyett használja
tempdb. Ha az index építése soránMAXDOPértéke 1, akkor az építés egy teljesen rendezett, fürtözött, oszlopokkal tárolt indexet hoz létre, amelynél nincsenek átfedő szegmensek. Ez javíthatja a lekérdezések teljesítményét az index használatával. Az index építése azonban hosszabb időt vehet igénybe, mert a kiömlésekheztempdbtovábbi I/O szükséges. Ha már létezik fürtözött oszlopcentrikus index, a lekérdezések továbbra is használhatják, amíg a teljes online index-újraépítés folyamatban van.További információ: Szegmensfedés csökkentése és a lekérdezési teljesítmény javítása.
Továbbfejlesztett adatbázis- és fájlzsugorítási műveletek.
Az SQL Server korábbi verzióiban, amikor egy fürtözött oszlopcentrikus index tartalmaz minden olyan oszlopot, amely LOB-adattípusokkal rendelkezik , például varchar(max), nvarchar(max), varbinary(max), az oszlopok által használt adatoldalakat a zsugorítási műveletek nem tudják áthelyezni. Ennek eredményeképpen a zsugorítás kevésbé lesz hatékony az adatfájlokban lévő hely visszanyerésében.
Az SQL Server 2025 -ben (17.x) mind
DBCC SHRINKDATABASEaDBCC SHRINKFILEparancsok áthelyezhetik az oszlopcentrikus indexek LOB oszlopai által használt adatoldalakat.
SQL Server 2022 (16.x)
Az SQL Server 2022 (16.x) a következő funkciókat adta hozzá:
- A rendezett csoportosított oszlopalapú indexek a rendezett oszlop prédikátumok alapján javítják a lekérdezések teljesítményét. A rendezett oszlopcentrikus indexek az adatszegmensek teljes kihagyásával javíthatják a teljesítményt. Ez jelentősen csökkentheti az oszlopcentrikus adatok lekérdezéseihez szükséges I/O-t. További információ a szegmens megszüntetéséről:. További információkért lásd: CREATE COLUMNSTORE INDEX és Teljesítményhangolás rendezett oszloptárindexekkel.
- A predikátum tolás a fürtözött oszlopcentrikus adattár sorcsoport elhagyásával a határértékek használatával optimalizálja a sztring kereséseket. Az oszlop tároló indexek előnyük származik a szegmensek adattípus szerinti javított eltávolításából. Az SQL Server 2022 -től (16.x) kezdődően ezek a szegmenskivezetési képességek a sztring-, bináris és GUID-adattípusokra, valamint a datetimeoffset adattípusra terjednek ki a kettőnél nagyobb skálázáshoz. Korábban az oszlop-adattárház szegmenseltávolítás csak numerikus, dátum- és időtípusoknál volt alkalmazva, valamint a datetimeoffset adattípusnál, amelynek skálája kisebb vagy egyenlő kettővel. Az SQL Server azon verziójára való frissítés után, amely támogatja a sztringek minimális/maximális szegmenselvonását (SQL Server 2022 (16.x) és újabb verziók), az oszlopcentrikus index nem élvezi ezt a funkciót, amíg újra nincs felépítve a
ALTER INDEX REBUILDvagyCREATE INDEX WITH (DROP_EXISTING = ON)használatával. - A
LIKEpredikátumok előtagjának megfelelő oszloptárolós sorcsoportok megszüntetése, példáulcolumn LIKE 'string%'. A szegmensek megszüntetése nem támogatott aLIKE, példáulcolumn LIKE '%string'előtag nélküli használata esetén. - További információ a hozzáadott funkciókról: Az SQL Server 2022újdonságai.
SQL Server 2019 (15.x)
Az SQL Server 2019 (15.x) a következő új funkciókat adja hozzá:
Functional
Az SQL Server 2019-től (15.x) kezdődően a rekord mozgatását egy háttéregyesítési feladat segíti, amely automatikusan tömöríti a belső küszöbérték által meghatározott egy ideje meglévő kisebb nyitott delta sorcsoportokat, vagy egyesíti a tömörített sorcsoportokat, amelyekből nagy számú sort töröltek. Korábban egy indexátszervezési műveletre volt szükség a sorcsoportok részlegesen törölt adatokkal való egyesítéséhez. Ez idővel javítja az oszlopcentrikus index minőségét.
SQL Server 2017 (14.x)
Az SQL Server 2017 (14.x) hozzáadja ezeket az új funkciókat.
Functional
- Az SQL Server 2017 (14.x) támogatja a fürtözött oszlopcentrikus indexekben található nem perzisztált számított oszlopokat. A megőrzött számított oszlopok nem támogatottak a fürtözött oszlopcentrikus indexekben. Nem hozható létre nem klaszterezett columnstore index számított oszlopon.
SQL Server 2016 (13.x)
Az SQL Server 2016 (13.x) kulcsfontosságú fejlesztéseket ad hozzá az oszlopcentrikus indexek teljesítményének és rugalmasságának javítása érdekében. Ezek a fejlesztések javítják az adattárházi forgatókönyveket, és lehetővé teszik a valós idejű üzemeltetési elemzést.
Functional
Egy soros adattábla egy frissíthető, nem klaszterezett oszlopalapú indexet tartalmazhat. Korábban a nem-clustered columnstore index írásvédett volt.
A nem klaszterezett oszlopalapú index definíciója támogatja a szűrt feltétel használatát. Az OLTP-táblához való oszlopraktár index hozzáadásának teljesítményhatásának minimalizálása érdekében hozzon létre egy nem fürtözött oszlopraktár indexet egy szűrt feltétel használatával, kizárólag az operatív munkaterhelés hideg adataira.
A memóriában lévő táblák egy oszlopcentrikus indexet tartalmazhatnak. Létrehozhatja a tábla létrehozásakor, vagy később hozzáadhatja a(z) ALTER TABLE használatával. Korábban csak egy lemezalapú tábla rendelkezhetett oszlopcentrikus indexel.
A fürtözött oszlopos adattár indexek egy vagy több nem fürtözött soradatbázis-indexet tartalmazhatnak. Korábban az oszlopcentrikus index nem támogatja a nem rendezett indexeket. Az SQL Server automatikusan fenntartja a DML-műveletek nemclustered indexeit.
Elsődleges kulcsok és idegen kulcsok támogatása B-fa indexelés alkalmazásával ezek korlátozások érvényesítésére a fürtözött oszlopalapú indexeken.
Az oszlopcentrikus indexek tömörítési késleltetési beállítással rendelkeznek, amely minimálisra csökkenti a tranzakciós számítási feladat valós idejű működési elemzésre gyakorolt hatását. Ez a beállítás lehetővé teszi, hogy a gyakran változó sorok stabilizálódjanak, mielőtt tömörítésre kerülnének az oszloptárba. A részletekért tekintse meg CREATE COLUMNSTORE INDEX és ismerkedjen meg az oszlopcentrikus indexekkel a valós idejű üzemeltetési elemzéshez.
Az adatbázis kompatibilitási szintje 120 vagy 130
Az oszlopalapú indexek támogatják az olvasási véglegesített pillanatkép-izolációs szintet (RCSI) és a pillanatkép-izolációt (SI). Ez lehetővé teszi a tranzakciós konzisztens elemzési lekérdezéseket zárolás nélkül.
A Columnstore úgy támogatja az index töredezettségmentesítését, hogy eltávolítja a törölt sorokat anélkül, hogy explicit módon újra kellene építenie az indexet. A
ALTER INDEX ... REORGANIZEutasítás eltávolítja a törölt sorokat egy belsőleg meghatározott szabályzat alapján az oszloptárból online műveletkéntAz oszlopalapú indexek elérhetők egy Always On olvasható másodlagos replikán. Az operatív elemzések teljesítményét úgy javíthatja, ha az elemzési lekérdezéseket egy Always On másodlagos replikára irányítja ki.
Az összesítő pushdown kiszámítja az összesítő függvényeket
MIN,MAX,SUM,COUNTésAVGa táblavizsgálatok során, ha az adattípus legfeljebb 8 bájtot használ, és nem karakterlánc adattípus. Az összesített leküldésGROUP BYzáradékkal vagy anélkül is támogatott a fürtözött oszlopalapú indexekhez és a nemfürtözött oszlopalapú indexekhez. Az SQL Serveren ez a fejlesztés az Enterprise kiadáshoz van fenntartva.A sztring predikátum leküldése felgyorsítja azokat a lekérdezéseket, amelyek a varchar/char vagy nvarchar/nchar típusú karakterláncokat hasonlítják össze. Ez a gyakori összehasonlító operátorokra vonatkozik, és olyan operátorokat is tartalmaz, mint például
LIKE, amelyek bitképszűrőket használnak. Ez minden támogatott összehasonlítási sorrendekkel működik. Az SQL Serveren ez a fejlesztés az Enterprise kiadáshoz van fenntartva.A kötegelt üzemmódban végrehajtott műveletek fejlesztése a vektoralapú hardverképességek kihasználásával. Az adatbázismotor észleli az AVX 2 (Advanced Vector Extensions) és az SSE 4 (Streaming SIMD Extensions 4) hardverbővítmények processzortámogatási szintjét, és ha támogatott, használja őket. Az SQL Serveren ez a fejlesztés az Enterprise kiadáshoz van fenntartva.
130-es adatbázis-kompatibilitási szint teljesítménye
Új kötegelt módú végrehajtás támogatása az alábbi műveletek bármelyikét használó lekérdezésekhez:
SORT- Több különböző függvényt tartalmazó összesítések. Néhány példa:
COUNT/COUNT,AVG/SUM,CHECKSUM_AGG,STDEV/STDEVP - Ablakösszesítő függvények:
COUNT,COUNT_BIG,SUM,AVG,MIN,MAXésCLR - Ablak felhasználó által definiált összesítései:
CHECKSUM_AGG,STDEV,STDEVP,VAR,VARPésGROUPING - Ablakösszesítő elemzési függvények:
LAG,LEAD,FIRST_VALUE,LAST_VALUE,PERCENTILE_CONT,PERCENTILE_DISC,CUME_DISTésPERCENT_RANK
Az egyszálú lekérdezések, amelyek
MAXDOP 1alatt futnak, vagy soros lekérdezési tervvel rendelkeznek, kötegelt módban hajtódnak végre. Korábban csak többszálú lekérdezések hajthatóak végre kötegelt módon.A memóriaoptimalizált táblázatos lekérdezések párhuzamos tervekkel rendelkezhetnek SQL InterOp módban, mind a sortárban lévő adatok elérésekor, mind az oszlopcentrikus indexben.
Supportability
Ezek a rendszernézetek újak a columnstore-hoz:
- sys.column_store_row_groups
- sys.dm_column_store_object_pool
- sys.dm_db_column_store_row_group_operational_stats
- sys.dm_db_column_store_row_group_physical_stats
- sys.dm_db_index_operational_stats
- sys.dm_db_index_physical_stats
- sys.internal_partitions
Ezek a memóriabeli OLTP-alapú DMV-k tartalmazzák a columnstore-ral kapcsolatos frissítéseket.
- sys.dm_db_xtp_hash_index_stats
- sys.dm_db_xtp_index_stats
- sys.dm_db_xtp_memory_consumers
- sys.dm_db_xtp_nonclustered_index_stats
- sys.dm_db_xtp_object_stats
- sys.dm_db_xtp_table_memory_stats
Limitations
- Memóriabeli táblák esetén az oszlopcentrikus indexnek tartalmaznia kell az összes oszlopot; az oszlopcentrikus index nem rendelkezhet szűrt feltétellel.
- Memóriabeli táblák esetén az oszlopcentrikus indexeken lévő lekérdezések csak interop módban futnak, natív fordítási módban nem. A párhuzamos végrehajtás támogatott.
Ismert problémák
A következőkre vonatkozik: SQL Server 2022 (16.x) és régebbi verziók, Felügyelt Azure SQL Instance2022
- A LOB-oszlopok (varbinary(max), varchar(max) és nvarchar(max)) által használt adatlapok a tömörített oszlopcentrikus szegmensekben nem helyezhetők át
DBCC SHRINKDATABASEésDBCC SHRINKFILE. Ezt a problémát az SQL Server 2025 (17.x) oldja meg.
SQL Server 2014 (12.x)
Az SQL Server 2014 (12.x) elsődleges tárolási formátumként a fürtözött oszlopcentrikus indexet vezette be. Ez lehetővé tette a rendszeres terhelést, valamint a frissítési, törlési és beszúrási műveleteket.
- A tábla elsődleges adattárként fürtözött oszlopcentrikus indexet használhat. Más indexek nem engedélyezettek a táblán, de az oszlophalmaz index frissíthető, így rendszeresen betölthet új adatokat és módosíthatja az egyes sorokat.
- A nem klaszterezett oszlopalapú index továbbra is ugyanazokat a funkciókat kínálja, mint az SQL Server 2012-ben (11.x), de most már vannak további operátorok is, amelyek képesek kötegelt módban végrehajtódni. Továbbra sem frissíthető, kivéve az újraépítéssel és a partícióváltással. A nem klaszterezett oszloptáras index csak a lemezalapú táblákon támogatott, nem pedig a memóriában lévő táblákon.
- A fürtözött és nem fürtözött oszlop-tároló index archiválási tömörítési lehetőséggel rendelkezik, amely tovább tömöríti az adatokat. Az archiválási lehetőség a memóriában és a lemezen egyaránt hasznos az adatméret csökkentéséhez, de lassú lekérdezési teljesítményt nyújt. Jól működik a ritkán elért adatokhoz.
- A fürtözött oszlopos tároló index és a nem-fürtözött oszlopos tároló index nagyon hasonló módon működnek; ugyanazt az oszlopos tárolási formátumot, ugyanazt a lekérdezésfeldolgozó motort és ugyanazokat a dinamikus felügyeleti nézeteket használják. A különbség az elsődleges és a másodlagos indextípusok között van, a nem klaszterezett oszlop tárolású index pedig csak olvasható.
- Ezek az operátorok tömbösített módban futnak többszálú lekérdezésekhez: szkennelés, szűrés, projektálás, összekötés, csoportosítás és union all.
SQL Server 2012 (11.x)
Az SQL Server 2012 (11.x) bevezette a nem klaszteres oszlopalapú indexet mint egy másik indextípust a soros táblákon, valamint kötegelt feldolgozást az oszlopalapú adatok lekérdezéseihez.
- A soros táblának lehet egy nem klaszterezett oszlopalapú indexe.
- Az oszlopalapú index írásvédett. Az oszlopcentrikus index létrehozása után nem frissítheti a táblát az
INSERT,DELETEésUPDATEműveletekkel; ezeket a műveleteket végrehajtani törölnie kell az indexet, frissítenie kell a táblát, és újra kell építenie az oszlopcentrikus indexet. A partícióváltással további adatokat tölthet be a táblába. A partícióváltás előnye, hogy az oszlopcentrikus index elvetése és újraépítése nélkül betöltheti az adatokat. - Az oszlopstore index mindig extra tárhelyet igényel, jellemzően 10%-kal többet, mint a sorszintű tárolás, mivel az adatok másolatát tárolja.
- A kötegelt feldolgozás kétszeres vagy jobb lekérdezési teljesítményt nyújt, de csak párhuzamos lekérdezés-végrehajtásra érhető el.
Kapcsolódó tartalom
- Oszloptár-indexek – tervezési útmutató
- oszlopcentrikus indexek – adatbetöltési útmutató
- Oszlopalapú indexek – lekérdezési teljesítmény
- Ismerkedjen meg az oszlopalapú indexekkel a valós idejű üzemeltetési analitikához
- Oszlop-tároló indexek az adattárházakban
- Indexkarbantartás optimalizálása a lekérdezési teljesítmény javítása és az erőforrás-felhasználás csökkentése