SQL Server 2016--feature enhancements for clustered Columnstore indexes

Source: Internet
Author: User

Author

    • Jonathan Allen, translator Shao Sihua released on June 14, 2015

The Clustered Columnstore index (CC index) is one of the two most compelling features in SQL Server 2014 and is designed to be used for data tables with more than 10 million records. The user does not need to specify the index explicitly, also can guarantee the good performance of analytic query.

However, there is a flaw in this feature in version 2014, where the user cannot specify an index. Although the CC index is much faster than the table scan of a traditional table, it is not a manually adjusted overlay index. Therefore, in order to support both modes, the developer has to create two tables: a normal table with a B-tree index structure, and a table with a clustered Columnstore index. Obviously, keeping these two tables in sync is a big challenge.

In SQL Server 2016, this problem will no longer exist. Clustered Columnstore indexes in compatibility level 130 (that is, SQL Server 2016) can contain a B-tree-style level two index, just like a traditional data table. This index supports any number of columns and can be filtered.

Another problem with clustered Columnstore indexes is the lack of support for primary keys and foreign keys. Because the database cannot enforce referential integrity for a CC index, only the developer of the middle tier can guarantee that there will be no data corruption. Now that you can add a B-tree index to the CC index, the user can "create a primary key and foreign key using a B-tree index to enforce these restrictions".

Warning: Once the B-tree index is defined for the clustered Columnstore index, the merge cannot be used. ”

Isolation level

Starting with SQL Server 2016, the CC index supports both the snapshot and read-commit snapshots isolation levels, eliminating the need for read-write locks, and also makes the tables that write data frequently perform better.

Index defragmentation

The CC index in SQL Server 2014 is designed to be used primarily to add data-style operations. Although it is also possible to modify and delete records, this results in index fragmentation, which can be eliminated only by rebuilding the entire CC index. In 2016, fragmentation can be reduced by re-organizing the index operations. The re-organization of an index is an online operation, which means that it does not require a long time to occupy the lock and therefore prevents query operations on the table.

Enhancements to Batch Mode

Because the CC index and the nonclustered Columnstore index use the same storage engine, its batch mode is also enhanced.

View English text: SQL Server 2016:clustered Columnstore Index Enhancements

Thank long Zhang for the review of this article.

SQL Server 2016--feature enhancements for clustered Columnstore indexes

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.