NonStop SQL/MP Reference Manual
Table Of Contents
- What’s New in This Manual
- About This Manual
- A
- Access Options
- ADD DEFINE Command
- AGGREGATE Functions
- Alias
- ALLOCATE File Attribute
- ALTER CATALOG Statement
- ALTER COLLATION Statement
- ALTER DEFINE Command
- ALTER INDEX Statement
- ALTER PROGRAM Statement
- ALTER TABLE Statement
- ALTER VIEW Statement
- APPEND Command
- APPENDCANCEL Command
- APPENDRESTART Command
- AS Clause
- AS DATE/TIME Clause
- ASCII Character Set
- AUDIT File Attribute
- AUDITCOMPRESS File Attribute
- Audited Tables
- AVG Function
- B
- C
- CANCEL Command
- CASE Expression
- CAST Function
- CATALOG Command
- Catalogs
- CATALOGS Table
- CENTER_REPORT Option
- Character Data Types
- Character Expressions
- Character Sets
- CHAR_LENGTH Function
- CLEANUP Command
- CLEARONPURGE File Attribute
- CLOSE Statement
- Clustering Keys
- COLLATE Clause
- Collation Definitions
- Column Identifier
- Columns
- COLUMNS Table
- COMMENT Statement
- Comments
- COMMENTS Table
- COMMIT Option
- COMMIT WORK Statement
- Comparison Predicate
- COMPUTE_TIMESTAMP Function
- CONCAT Clause
- Concurrency
- Constraints
- CONSTRNT Table
- CONTINUE Statement
- CONTROL EXECUTOR Directive
- CONTROL QUERY Directive
- CONTROL TABLE Directive
- CONVERT Command
- CONVERTTIMESTAMP Function
- COPY Command
- Correlation Names
- COUNT Function
- CPRLSRCE Table
- CPRULES Table
- CREATE CATALOG Statement
- CREATE COLLATION Statement
- CREATE CONSTRAINT Statement
- CREATE INDEX Statement
- CREATE SYSTEM CATALOG Command
- CREATE TABLE Statement
- CREATE VIEW Statement
- CURRENT Function
- CURRENT_TIMESTAMP Function
- Cursors
- C89
- D
- Data Dictionary
- Data Types
- DATE Data Type
- DATE_FORMAT Option
- DATE-TIME Data Types
- DATE-TIME Functions
- DATE-TIME Literals
- DATEFORMAT Function
- DATETIME Data Type
- DAYOFWEEK Function
- DCL (Data Control Language) Statements
- DCOMPRESS File Attribute
- DDL (Data Definition Language) Statements
- Deadlocks
- DECIMAL_POINT Option
- DECLARE CURSOR Statement
- DEFAULT Clause
- DEFINEs
- DELETE DEFINE Command
- DELETE Statement
- DESCRIBE INPUT Statement
- DESCRIBE Statement
- Detail Alias
- DETAIL Command
- DISPLAY STATISTICS Command
- DISPLAY USE OF Command
- DISTINCT Clause
- DML (Data Manipulation Language) Statements
- DOWNGRADE CATALOG Command
- DOWNGRADE SYSTEM CATALOG Command
- DROP Statement
- DROP SYSTEM CATALOG Command
- DSL (Data Status Language) Statements
- DSLACK File Attribute
- DUP Command
- Dynamic SQL
- E
- F
- G
- H
- I
- ICOMPRESS File Attribute
- IF/THEN/ELSE Clause
- IN Predicate
- INCLUDE SQLCA Directive
- INCLUDE SQLDA Directive
- INCLUDE SQLSA Directive
- INCLUDE STRUCTURES Directive
- Index Keys
- INDEXES Table
- Indicator Variables and Indicator Parameters
- INFO DEFINE Command
- INITIALIZE SQL Command
- INSERT Statement
- INTERVAL Data Type
- INTERVAL Literals
- INVOKE Directive and Command
- ISLACK File Attribute
- J
- K
- L
- M
- N
- O
- P
- PAGE_COUNT Option
- PAGE FOOTING Command
- PAGE_LENGTH Option
- PAGE_NUMBER Function
- PAGE TITLE Command
- Parallel Index Loading
- Parameters
- PARTITION Clause
- Partitions
- PARTNS Table
- PERUSE Command
- Plans
- POSITION Function
- Predicates
- PREPARE Statement
- Primary Keys
- Print Item
- PROGID File Attribute
- Program Invalidation
- PROGRAMS Table
- Protection View
- PURGE Command
- PURGEDATA Command
- Q
- R
- RECLENGTH File Attribute
- RELEASE Statement
- REPORT FOOTING Command
- REPORT Option
- REPORT TITLE Command
- Report Writer
- Reserved Words
- RESET DEFINE Command
- RESET LAYOUT Command
- RESET PARAM Command
- RESET PREPARED Command
- RESET REPORT Command
- RESET SESSION Command
- RESET STYLE Command
- RESETBROKEN File Attribute
- RIGHT_MARGIN Option
- ROLLBACK WORK Statement
- ROWCOUNT Option
- S
- Sample Database
- SAVE Command
- Search Conditions
- SECURE Command
- SECURE File Attribute
- Security
- SELECT Statement
- SERIALWRITES File Attribute
- SET DEFINE Command
- SET DEFMODE Command
- SET LAYOUT Command
- SET PARAM Command
- SET SESSION Command
- SET STYLE Command
- SETSCALE Function
- Shorthand View
- SHOW CONTROL Command
- SHOW DEFINE Command
- SHOW DEFMODE Command
- SHOW LAYOUT Command
- SHOW PARAM Command
- SHOW PREPARED Command
- SHOW REPORT Command
- SHOW SESSION Command
- SHOW STYLE Command
- Similarity Checks
- SLACK File Attribute
- SPACE Option
- SQL Directive
- SQL Identifiers
- SQLCI
- SQLCI Commands
- SQLCODE
- SQLCOMP Command
- Standards Conformance
- Statements
- Static SQL
- Statistics
- Storage Management Foundation (SMF)
- String Functions
- String Literals
- Subqueries
- SUBSTRING Function
- SUBTOTAL Command
- SUBTOTAL_LABEL Option
- SUM Function
- Super ID
- Syskeys
- System Catalog
- SYSTEM Command
- System DEFINEs
- T
- U
- V
- W
- Z
- ! COMMAND
- =_AUDSERV_XSWAP_node DEFINE
- =_DEFAULTS DEFINE
- =_SORT_DEFAULTS DEFINE
- =_SQL_CAT_HEAP_LIMIT DEFINE
- =_SQL_CMP_DOUBLE_SBB_OFF DEFINE
- =_SQL_CMP_DOUBLE_SBB_ON DEFINE
- =_SQL_CMP_EQ_LIMIT DEFINE
- =_SQL_CMP_EVENT DEFINE
- =_SQL_CMP_EVENT_NO0 DEFINE
- =_SQL_CMP_NO_KS_MJOIN DEFINE
- =_SQL_cmp_node DEFINE
- =_SQL_EXE_DOUBLE_SHUTOFF DEFINE
- =_SQL_EXE_ESPS_CK_CMON DEFINE
- =_SQL_EXE_USE_SWAPVOL DEFINE
- =_SQL_MSG_node DEFINE
- =_SQL_RECGEN_node DEFINE
- =_SQL_TM_node_vol DEFINE
- Index
NonStop SQL/MP Reference Manual—142115
U-10
Considerations—UPDATE STATISTICS
Except for row count, statistics are for the entire table (not for individual partitions
as in earlier releases of NonStop SQL/MP). Note that the second-highest and
second-lowest values reflect the column values of the entire table, rather than of a
single partition. The unique entry count is the unique entry count for the entire table
divided by the number of partitions in the table.
UPDATE STATISTICS does not erase statistics already in the catalog that are
unaffected by the current update. For example, if an UPDATE STATISTICS
statement follows an UPDATE ALL STATISTICS statement for the same table, the
statistics remain unchanged for the columns that are not part of an index or the
primary key or clustering key.
When a table or a table partition is empty, UPDATE STATISTICS uses default
values to update items for which it does not have actual values and returns warning
1404. UPDATE STATISTICS always enters the current timestamp in the
STATISTICSTIME column of the BASETABS catalog table, whether or not other
statistics are available.
These statistics are used by the SQL compiler in selecting a strategy for an
execution plan. If the structure, contents, or indexes of the table have changed, or if
you experience a degradation in performance, use UPDATE STATISTICS to update
the information about the table in the catalog. You should also recompile your
programs. With up-to-date information, the SQL compiler can choose the best path
for queries on the table.
•
Preparation for UPDATE STATISTICS (fragmented tables)
Before executing UPDATE STATISTICS, determine whether the table is fragmented
(that is, whether the pages have a large amount of unused space). At the command
interpreter prompt, use the FILEINFO command with the STATISTICS option to
check the table. If the average percent of slack is large, use SQLCI LOAD or FUP
RELOAD to reorganize the table before updating the statistics.
•
Locking
UPDATE STATISTICS momentarily locks the definition of the table in the catalog
during the operation, but not the table itself; the statement uses BROWSE ACCESS.
•
Use with partitioned tables
All partitions of a table must be available for SQL to generate accurate statistics, not
just the partition specified in the UPDATE STATISTICS statement.
If any partitions are unavailable when you run UPDATE STATISTICS, SQL issues a
warning, skips the unavailable partitions, and updates statistics for the remaining
partitions using default values for the unavailable partitions. If this occurs, you
should rerun UPDATE STATISTICS with all partitions as soon as possible.
If a partitioned table does not have statistics (that is, if you have never executed
UPDATE STATISTICS for that table) and one of the partitions is not available when
you execute SELECT or another DML operation on the table, SQL returns a
warning and a file system error even if the query does not retrieve any rows from the
unavailable partition. The warning does not occur for very small tables, but you can