PSORT_NPROCS 环境变量

PSORT_NPROCS 环境变量指定数据库服务器可以用于排序查询的最大线程数。当查询包含一个大的排序操作时,可以并行执行多个排序线程来改善查询的性能。

当 PDQ 优先级值为 0 并且 PSORT_NPROCS 大于 1 时,数据库服务器使用并行排序。PDQ 的管理不会限制这些排序。 换言之,尽管以并行方式执行排序,但数据库服务器不会把排序视作 PDQ 活动。当 PDQ 优先级为 0 时,数据库服务器不会通过任何 PDQ 参数控制排序。

当 PDQ 优先级大于 0 且 PSORT_NPROCS 大于 1 时,查询将从并行排序和 PDQ 功能(例如,并行扫描和额外内存)两方面获益。用户可以使用 PDQPRIORITY 环境变量为查询请求 PDQ 资源的特定部分。您可以使用 MAX_PDQPRIORITY 参数来限制此类用户请求的数目。有关 MAX_PDQPRIORITY 的更多信息,请参阅限制查询中的 PDQ 资源

数据库服务器为排序分配相对较小量的内存,且该内存在 PSORT_NPROCS 排序线程之间分配。没有足够的内存可供分配时,排序进程使用磁盘上的临时空间。有关为排序分配的内存的更多信息,请参阅估计排序所需的内存
要点: 为了提高排序操作的性能,如果计算机具有多个 CPU,请将 PSORT_NPROCS 的初始值设置为 2。如果后续的 CPU 活动低于 I/O 活动,可以增加 PSORT_NPROCS 的值。

有关在索引构建期间进行排序的更多信息,请参阅提高索引构建的性能