宽表的性能注意事项

宽表为具有列集的表。当使用宽表时,请牢记以下性能注意事项:

  • 宽表最多可以定义 30,000 列。这会增加维护表的索引的开销。定义的非聚集索引应当为应用到数据子集的筛选索引。有关详细信息,请参阅筛选索引设计准则

  • 应用程序可以在宽表中动态添加和删除列。当添加或删除列时,已编译的查询计划也将作废。我们建议您设计与预定工作负荷相匹配的应用程序,以便使架构更改降至最少。

  • 当在宽表中添加和删除数据时,性能会受到影响。必须针对预定工作负荷设计应用程序,以便使对表数据所做的更改降至最少。

  • 我们建议将宽表的索引数限制为业务逻辑所需的索引数。索引数增加,DML 编译时和内存需求也会增加。

  • 限制对宽表执行用于更新聚集键的多个行的 DML 语句。编译和执行这些语句会需要非常多的内存资源。

  • 对宽表执行切换分区操作可能会很慢,并可能需要大量的内存才能加以处理。性能和内存需求与源分区和目标分区中的列数成比例。

  • 用于更新宽表中特定列的更新游标应在 FOR UPDATE 子句中显式列出这些列。这将有助于优化使用游标时的性能。