SPD Server Performance Enhancements

SPD Server Pass-Through SQL Enhancements

You can use SQL pass-through to submit SQL statements that use SPD Server tables directly to SPD Server. The SPD Server SQL Planner has optimizations that you can use to create SQL queries that take advantage of SMP and table indexes, which result in improved SQL query performance.

Implicit and Explicit Server Sorts

You can use implicit or explicit sorts with SPD Server. For example, PROC SORT in Base SAS is an explicit sort. You can also use PROC SORT with SPD Server.
An implicit sort is unique to SPD Server. Each time you submit a SAS statement with a BY clause, SPD Server sorts your data, unless the table is already sorted or indexed by the BY column. Accessing and Creating SAS Scalable Performance Data (SPD) Server Tables contains tips on how and when to use each sort type.

Modified SAS Heap Sort

SPD Server uses heap sort as its default sort with a few changes. In SPD Server, heap sort compares the available memory on the server to the memory that is required to load and process the index key data in memory. If the memory is not constrained, SPD Server performs the heap sort in RAM memory.

Indexed Parallel Table Scan

SPD Server indexes are designed to support parallelism. Experienced users of relational database management systems (RDBMSs) are accustomed to a processing lag that occurs when databases must read or process enormous tables. When SPD Server performs table queries, the SPD Server index architecture enables the software to analyze different table sections or segments in parallel. By processing large table segments in parallel, SPD Server delivers much faster data throughput. The faster throughput might be difficult to perceive on small tables, but when SPD Server performs scans on very large tables, the processing performance is significantly faster than that of database systems that support only serial indexed table scans.

Improved Table Appends

SPD Server separates the Table Append operation into steps that can be performed in parallel. The level of parallelism depends on the number of indexes in the table. The more indexes you have, the greater the potential of exploiting parallelism during the append.
Tip
You can save time by creating an empty table in SPD Server, defining your indexes on it, and then appending the data. It is faster to create indexes on an empty table than it is to load the table, and then create the indexes.