A significant strength of
SPD Server is efficient creation, maintenance, and use of table indexes. Indexing can greatly
speed the evaluation of
WHERE clause queries. Indexes can be a source of sort order when performing BY clause processing.
Indexes are also used directly by some SAS applications. For example, PROC SQL uses
indexes to efficiently evaluate equijoins.
The server supports indexes for queries that require global table views (such as
queries that contain BY clause processing or SQL joins) and segmented views (such
as
parallel processing of WHERE clause statements).
The server can
thread WHERE clause evaluations for tables that are not indexed. However, indexes enable
rapid WHERE
clause evaluations. You should index large tables to optimize server performance.
For information about
indexing with WHERE, see Server Indexing with WHERE Clause.
Index creation is a
CPU-intensive process. When sufficient processing power is available,
parallel index creation in the server is highly scalable. The creation
process for each index is threaded. A single index creation can use
multiple CPUs on a server if they are available, which greatly improves
performance. The server efficiently indexes tables of varying size
and data distributions.
There are several ways
to define indexes on table columns.