Automatic update statistics

In Adaptive Server 12.5.1, Sybase provided the capability to automate running update statistics using the Job Scheduler utility program. Adaptive Server 15.0 improves this feature by allowing database administrators to set thresholds before the Job Scheduler runs update statistics on a specific table or partition. This threshold control ensures that update statistics is run only when needed, reducing the time needed for maintenance operations.

See the Job Scheduler’s User’s Guide for more information on setting up the Job Scheduler engine and the Sybase Central interface.

“Automatically updating statistics” does not mean that index statistics are automatically maintained by Adpative Server and that update statistics is no longer necessary. Users frequently request that the server track the statistics modifications for each DML statement, eliminating the need to run update statistics entirely. However, doing so may slow down OLTP operations, even if it is done outside the scope of the transaction. It is likely that multiple users would attempt to modify statistics for the same rows in systabstats, and the contention caused by these attempts would result in effectively single- threading the system.

In addition, incrementally adding rows to a large table might not accurately update the statistics because the newly computed density masy have the same value due to precision loss. For example, if you add 100,000 rows to an existing 1,000,000-row table containing a date column based on the date the row was added to the table (that is, it defaults to getdate()), and you add the rows one at a time, the range cell density would not change because each new row as it is added only amounts to 1/1,000,000th of the table – or .000001. However, 100,000 rows adds 10% to the overall table size.