首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL Server - 分区表与聚簇索引?

分区表是一种表结构和索引策略,用于优化数据存储和查询。与聚簇索引相比,分区表可以让数据均匀分布在不同的物理位置,从而提高查询性能,降低I/O负载。

SQL Server分区表和聚簇索引比较

分区表 CREATE PARTITION FUNCTIONCREATE PARTITION SCHEME 来创建分区表。

数据被分区存储在多个物理位置中,提高了查询性能。 使用查询优化器来选择正确的分区来提高查询效率。 不支持 LIKENOT LIKE 操作符。 分区策略和分区级别在创建时设置。

SQL Server 2019 版本起可以创建自包含分区表,它使用分区键作为聚簇索引。

CREATE TABLE sales_by_country

(

id INT PRIMARY KEY NONCLUSTERED HASH(id),

country VARCHAR(50),

sales INT,

total INT,

)

WITH (PARTITIONS = 3, CLUSTERED COLUMNSTORE INDEX)

聚簇索引

CLUSTEREDNONCLUSTERED 的创建。

表中的数据被组织成一组有序的物理页。

对于范围查询、排序或分组操作等,聚簇索引通常具有较高的查询性能。

使用 CREATE CLUSTERED INDEX 创建。

对于 LIKENOT LIKE 操作符不支持。

聚簇索引可创建在表中的单个列或多列(通过组合聚簇功能)。

CREATE TABLE mytable

(id INT PRIMARY KEY ON CLUSTERED INDEX, description NVARCHAR(100))

应用场景

大量数据的存储与分析场景。

查询对性能有较高要求的表。

需要对数据进行多字段排序或分组,以及涉及 LIKENOT LIKE 等查询方式时使用聚簇。

存在大量查询操作。

SELECT * FROM sales_by_country WHERE country LIKE '%USA%';

结论:

使用分区表进行分布存储和查询数据,可以提高性能,降低I/O负载。在创建表时,请根据业务需求选择分区表或聚簇索引。建议对于具有大量数据且查询性能要求高的场景,在 SQL Server 实例中选择分区表。如需支持 LIKENOT LIKE 等查询方式的场景,选择聚簇索引。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

23分23秒

118-聚簇索引、二级索引与联合索引的概念

55分5秒

【动力节点】Oracle教程-01-Oracle概述

44分57秒

【动力节点】Oracle教程-03-简单SQL语句

58分13秒

【动力节点】Oracle教程-05_Oracle函数

57分14秒

【动力节点】Oracle教程-07-多表查询

46分58秒

【动力节点】Oracle教程-09-DML语句

20分17秒

【动力节点】Oracle教程-11-数据库对象

39分44秒

【动力节点】Oracle教程-13-数据库对象

56分8秒

【动力节点】Oracle教程-15-索引,视图

48分1秒

【动力节点】Oracle教程-16-TOP-N分析法

15分41秒

【动力节点】Oracle教程-02-Oracle概述

42分19秒

【动力节点】Oracle教程-04-简单SQL语句

领券