如何排序SQL宽表?

时间:2018-12-04 05:05:18

标签: sql sql-server sql-server-2012

我有一个超过1024列的表。我们正在使用宽表来处理这种情况。按聚簇索引(PK)进行排序没有任何问题,但是当按任何其他列进行排序时,则会出现以下异常。

Select PK,c1,c2,c3....,c2400 from table order by c1
  

消息8618,第16级,状态2,第1行

     

查询处理器无法生成查询计划,因为   工作表是必需的,其最小行大小超过了最大   允许8060字节。需要工作表的典型原因   是查询中的GROUP BY或ORDER BY子句。如果查询中有一个   GROUP BY或ORDER BY子句,请考虑减少数量和/或大小   子句中的字段。考虑使用前缀(LEFT())或哈希   (CHECKSUM())字段用于分组,或前缀用于排序。注意   但这会改变查询的行为。

让我知道对宽表排序的可能解决方案。

0 个答案:

没有答案