Interface RowCountable
-
- All Known Subinterfaces:
GenericScanController
,GroupFetchScanController
,ScanController
,ScanControllerRowSource
,ScanManager
,StoreCostController
- All Known Implementing Classes:
B2ICostController
,B2IForwardScan
,B2IMaxScan
,BTreeCostController
,BTreeForwardScan
,BTreeMaxScan
,BTreeScan
,GenericCostController
,GenericScanController
,HeapCompressScan
,HeapCostController
,HeapScan
,MergeScan
,MergeScanRowSource
,Scan
,SortBufferRowSource
,SortBufferScan
,SortScan
public interface RowCountable
Allows clients to read and write row count estimates for conglomerates.- See Also:
ScanController
,StoreCostController
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
getEstimatedRowCount()
Get the total estimated number of rows in the container.void
setEstimatedRowCount(long count)
Set the total estimated number of rows in the container.
-
-
-
Method Detail
-
getEstimatedRowCount
long getEstimatedRowCount() throws StandardException
Get the total estimated number of rows in the container.The number is a rough estimate and may be grossly off. In general the server will cache the row count and then occasionally write the count unlogged to a backing store. If the system happens to shutdown before the store gets a chance to update the row count it may wander from reality.
For btree conglomerates this call will return the count of both user rows and internal implementaation rows. The "BTREE" implementation generates 1 internal implementation row for each page in the btree, and it generates 1 internal implementation row for each branch row. For this reason it is recommended that clients if possible use the count of rows in the heap table to estimate the number of rows in the index rather than use the index estimated row count.
- Returns:
- The total estimated number of rows in the conglomerate.
- Throws:
StandardException
- Standard exception policy.
-
setEstimatedRowCount
void setEstimatedRowCount(long count) throws StandardException
Set the total estimated number of rows in the container.Often, after a scan, the client of RawStore has a much better estimate of the number of rows in the container than what store has. Currently, a scan, followed by an update of the estimate, will be performed when:
- running SYSCS_UTIL.SYSCS_UPDATE_STATISTICS
- the automatic update of index statistics kicks in
(see
IndexStatisticsDaemon
) - performing table scans
- creating an index on a populated table
This routine can also be used to set the estimated row count in the index to the number of rows in the base table, another workaround for the problem that index estimated row count includes non-user rows.
- Parameters:
count
- the estimated number of rows in the container.- Throws:
StandardException
- Standard exception policy.
-
-