From a8aa404c1b962be5b7d953b670cefcfd2c4402ed Mon Sep 17 00:00:00 2001 From: Xiaoyu Date: Wed, 21 Jul 2021 15:50:06 -0700 Subject: [PATCH 1/3] Add note on Synapse NCI not enforcing constraint --- .../indexes/columnstore-indexes-overview.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/relational-databases/indexes/columnstore-indexes-overview.md b/docs/relational-databases/indexes/columnstore-indexes-overview.md index f9a8d138b53..1fa534eb86e 100644 --- a/docs/relational-databases/indexes/columnstore-indexes-overview.md +++ b/docs/relational-databases/indexes/columnstore-indexes-overview.md @@ -80,6 +80,9 @@ A nonclustered columnstore index and a clustered columnstore index function the The nonclustered index contains a copy of part or all of the rows and columns in the underlying table. The index is defined as one or more columns of the table and has an optional condition that filters the rows. A nonclustered columnstore index enables real-time operational analytics where the OLTP workload uses the underlying clustered index while analytics run concurrently on the columnstore index. For more information, see [Get started with columnstore for real-time operational analytics](../../relational-databases/indexes/get-started-with-columnstore-for-real-time-operational-analytics.md). + +>[!note] +>Unlike SQL server, the nonclustered columnstore index in Synapse SQL cannot be used to enforce primary key or unique constraint on the base table with clustered columnstore >index. This is because the primary key and unique constraints in Synapse SQL are only supported as NOT ENFORCED. For details, check [Primary key, foreign key, and unique key >using dedicated SQL pool in Azure Synapse Analytics](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints). #### Batch mode execution Batch mode execution is a query processing method that's used to process multiple rows together. Batch mode execution is closely integrated with, and optimized around, the columnstore storage format. Batch mode execution is sometimes known as *vector-based* or *vectorized* execution. Queries on columnstore indexes use batch mode execution, which improves query performance typically by two to four times. For more information, see the [Query processing architecture guide](../query-processing-architecture-guide.md#execution-modes). From fc8188ef62bb06dc8cf04975bbc463e3ad08dcaa Mon Sep 17 00:00:00 2001 From: Mike Ray <15928587+MikeRayMSFT@users.noreply.github.com> Date: Wed, 4 Aug 2021 13:12:37 -0700 Subject: [PATCH 2/3] Update link to use site-relative link --- .../indexes/columnstore-indexes-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/relational-databases/indexes/columnstore-indexes-overview.md b/docs/relational-databases/indexes/columnstore-indexes-overview.md index 1fa534eb86e..a0c51cb5b37 100644 --- a/docs/relational-databases/indexes/columnstore-indexes-overview.md +++ b/docs/relational-databases/indexes/columnstore-indexes-overview.md @@ -82,7 +82,7 @@ The nonclustered index contains a copy of part or all of the rows and columns in A nonclustered columnstore index enables real-time operational analytics where the OLTP workload uses the underlying clustered index while analytics run concurrently on the columnstore index. For more information, see [Get started with columnstore for real-time operational analytics](../../relational-databases/indexes/get-started-with-columnstore-for-real-time-operational-analytics.md). >[!note] ->Unlike SQL server, the nonclustered columnstore index in Synapse SQL cannot be used to enforce primary key or unique constraint on the base table with clustered columnstore >index. This is because the primary key and unique constraints in Synapse SQL are only supported as NOT ENFORCED. For details, check [Primary key, foreign key, and unique key >using dedicated SQL pool in Azure Synapse Analytics](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints). +>Unlike SQL server, the nonclustered columnstore index in Synapse SQL cannot be used to enforce primary key or unique constraint on the base table with clustered columnstore >index. This is because the primary key and unique constraints in Synapse SQL are only supported as NOT ENFORCED. For details, check [Primary key, foreign key, and unique key >using dedicated SQL pool in Azure Synapse Analytics](/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints). #### Batch mode execution Batch mode execution is a query processing method that's used to process multiple rows together. Batch mode execution is closely integrated with, and optimized around, the columnstore storage format. Batch mode execution is sometimes known as *vector-based* or *vectorized* execution. Queries on columnstore indexes use batch mode execution, which improves query performance typically by two to four times. For more information, see the [Query processing architecture guide](../query-processing-architecture-guide.md#execution-modes). From 4eab8b38c6cec22bcbdbf3747964a63a04cd5998 Mon Sep 17 00:00:00 2001 From: Shannon Leavitt Date: Wed, 4 Aug 2021 14:18:59 -0600 Subject: [PATCH 3/3] Update docs/relational-databases/indexes/columnstore-indexes-overview.md --- .../indexes/columnstore-indexes-overview.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/relational-databases/indexes/columnstore-indexes-overview.md b/docs/relational-databases/indexes/columnstore-indexes-overview.md index a0c51cb5b37..272466ff6b7 100644 --- a/docs/relational-databases/indexes/columnstore-indexes-overview.md +++ b/docs/relational-databases/indexes/columnstore-indexes-overview.md @@ -81,8 +81,9 @@ The nonclustered index contains a copy of part or all of the rows and columns in A nonclustered columnstore index enables real-time operational analytics where the OLTP workload uses the underlying clustered index while analytics run concurrently on the columnstore index. For more information, see [Get started with columnstore for real-time operational analytics](../../relational-databases/indexes/get-started-with-columnstore-for-real-time-operational-analytics.md). ->[!note] ->Unlike SQL server, the nonclustered columnstore index in Synapse SQL cannot be used to enforce primary key or unique constraint on the base table with clustered columnstore >index. This is because the primary key and unique constraints in Synapse SQL are only supported as NOT ENFORCED. For details, check [Primary key, foreign key, and unique key >using dedicated SQL pool in Azure Synapse Analytics](/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints). +>[!Note] +>Unlike SQL server, the nonclustered columnstore index in Synapse SQL cannot be used to enforce primary key or unique constraint on the base table with clustered columnstore index. This is because the primary key and unique constraints in Synapse SQL are only supported as NOT ENFORCED. For details, check [Primary key, foreign key, and unique key using dedicated SQL pool in Azure Synapse Analytics](/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints). + #### Batch mode execution Batch mode execution is a query processing method that's used to process multiple rows together. Batch mode execution is closely integrated with, and optimized around, the columnstore storage format. Batch mode execution is sometimes known as *vector-based* or *vectorized* execution. Queries on columnstore indexes use batch mode execution, which improves query performance typically by two to four times. For more information, see the [Query processing architecture guide](../query-processing-architecture-guide.md#execution-modes).