如何优化 SQL 服务器 table 有 3.2 亿多行只有 varchar(max) 数据类型

How to optimize SQL Server table with 320 million + rows with only varchar(max) data types

我有一个 table,其中包含 3.2 亿多行和 34 列,全部为 varchar(max) 数据类型,并且没有索引。

我发现总结整个 table 非常耗时。考虑到我需要使用它的以下目的,任何人都可以建议优化它的最佳方法:

我是否应该在我添加的连续行号列上创建一个非聚集索引

我的 table 磁盘大小约为 185 GB

我正在使用

由于数据没有唯一列,所以我已经添加了一个带整数的序列,花了2天时间完成操作。

  1. 使用 suitable 数据类型创建新的 table。这是最重要的部分 - 为您的列定义类型。 nvarchar(max)是最常见的类型,所以无法优化。对数字使用 intbigint,使用 nvarchar(N),其中 N - 最大长度。使用 bit 作为布尔值,依此类推
  2. 创建主键,搜索索引
  3. 将数据从旧的 table 复制到新的数据,部分为 10000 或 100000 行。