Writer instructions | ||
Purpose | Use this page to display a banner announcement on each page of the space. Create the Space announcements page in the master space, outside of the Home branch. You can version the Space announcements page to enable different banners to be published into different target spaces, however, the banner that is displayed in the versioned (master) space itself only displays the most recently-published banner. If you find errors in the banner area of your versioned space and you are sure the Space announcements page is set up correctly, try publishing the page to the same space. For more information, see Space-announcements-banners. | |
Removing | When an announcement is no longer needed, remove the BMC Space Banner macro. | |
Translation | Localized spaces using the L10n Viewport theme must change the name of this page to Space announcements l10n. See Configuring-the-Scroll-ViewPort-theme-for-translated-spaces. | |
Usage | Choose one or none of the following BMC Space Banner macros. If your space requires another kind of announcement, you can use this page in coordination with your team lead and editors. |
Modifying Access Path Analysis Text
Access Path Analysis
The File-AID for Db2 SQL Plan Analysis function provides an Access Path Analysis containing information on how statements are analyzed and executed by Db2. The report contains a Summary, Conditions, Consequences, and Recommendations section, when applicable, for each table and/or index used by the SQL statement. The following figure shows a sample report. See SQL-Development-and-Analysis-function for more information on the SQL Analysis function.
Sample Access Path Analysis Report
You can modify the text in the report. Conditions through Trigger Descriptions contain a complete listing of the text and the member names in which they are located. All members are located in the File-AID skeleton library (SXVJSENU). To modify the text, copy the appropriate member to the customized File-AID skeleton library (CXVJSENU), edit and then save it there.
Conditions through Trigger Descriptions also show what triggers each condition, consequence or recommendation. Trigger Descriptions contains a description of the triggers.
Conditions
Member | Trigger | Text |
FANLC001 | METHOD = 0 and | Table creator.tname is the first table accessed in this Query Block. |
ACCESSTY IN ’I,I1,R,N,M’ | ||
FANLC002 | METHOD = 1 | The Nested Loop Join method is used. |
FANLC003 | METHOD = 2 | The Merge Scan Join method is used. This join method is also known as Merge Join or Sort Merge Join. |
FANLC004 | METHOD = 3 | Additional sort(s) are required for ORDER BY, GROUP BY, SELECT DISTINCT, an IN predicate or a quantified predicate (i.e. ANY, SOME, ALL). These are independent sort(s) that do not access a new table. |
FANLC005 | METHOD = 4 | The Hybrid Join method is used. |
FANLC006 | ACCESSTY=R and | Table creator.tname is accessed through a tablespace scan of xdbname.xtsname. |
TBTYPEEXP<> (not equal) F | ||
FANLC007 | ACCESSTY = R and | The tablespace contains xnactive pages. |
XNOSTATS = N | ||
FANLC008 | ACCESSTY = R and | The tablespace contains multiple tables and is not segmented. |
XNTABLES > 1 and | ||
XSEGSIZE = 0 | ||
FANLC009 | ACCESSTY=R and | The scan is used during a nested loop join for table creator.tname. |
METHOD = 1 | ||
FANLC010 | ACCESSTY = I or ACCESSTY = N | Table creator.tname is accessed through index accesscr.accessna. |
FANLC011 | ACCESSTY = I1 | Table creator.tname is accessed through a One-Fetch index scan of accesscr.accessna. |
FANLC012 | ACCESSTY = M | Table creator.tname is accessed through a multiple index scan. |
FANLC013 | ACCESSTY = MX | Table creator.tname is accessed through a multiple index scan of index accessr.accessna. |
FANLC014 | ACCESSTY = MI | Table creator.tname is accessed through an intersection of multiple indexes. |
FANLC015 | ACCESSTY = MU | Table creator.tname is accessed through a union of multiple indexes. |
FANLC016 | MIXOPSEQ not = 0 and | This is step number mixopseq in the sequence of steps used in the multiple index scan. |
ACCESSTY in ’MX, MI, MU’ | ||
FANLC017 | ACCESSTY in ’I, I1, N, MX’ and | All data needed to satisfy this query is obtained from the index. No data pages are read. |
INDEXONL = Y | ||
FANLC018 | ACCESSTY in ’I, I1, N, MX’ and | Data pages as well as index pages are read to satisfy this query. |
INDEXONL = N | ||
FANLC019 | ACCESSTY in ’I, I1, N, MX’ and | The index has more than 3 levels. |
XNLEVELS > 3 | ||
FANLC020 | ACCESSTY in ’I, I1, N, MX’ and | Index accesscr.accessna allows duplicate values in its key. |
PDUPIX = Y | ||
FANLC021 | FMNDXS = Y and | Table creator.tname is processed by a matching index scan of index accesscr.accessna using the full index key. |
PDUPIX = Y | ||
FANLC022 | FMNDXS = Y and | Table creator.tname is accessed through unique index accesscr.accessna using a full index key. |
PDUPIX = N | ||
FANLC023 | ACCESSTY = I and | Table creator.tname is processed by a non-matching index scan of index accesscr.accessna. |
XMTCHCOL = 0 | ||
FANLC024 | PPARTIDX = Y | Table creator.tname is processed by a matching index scan of index accesscr.accessna using a partial index key. |
FANLC025 | SORTNUN = Y | A sort is performed on the new table to eliminate duplicate rows. |
FANLC026 | SORTNJO = Y | A sort is performed on the new (inner) table for a join operation. |
FANLC027 | SORTNOR = Y | A sort is performed on the new table for an ORDER BY clause. |
FANLC028 | SORTNGR = Y | A sort is performed on the new table for a GROUP BY clause. |
FANLC029 | &SORTCUN = Y | A sort is performed on the composite table to eliminate duplicate rows. |
FANLC030 | SORTCJO = Y | A sort is performed on the composite (outer) table for a join operation. |
FANLC031 | SORTCOR = Y | A sort is performed on the composite table for an ORDER BY clause. |
FANLC032 | SORTCGR = Y | A sort is performed on the composite table for a GROUP BY clause. |
FANLC033 | PREFETCH = S | A sequential PREFETCH is used to read a series of consecutive pages. |
FANLC034 | PREFETCH = L | A list PREFETCH is used to read a series of non-consecutive pages. |
FANLC035 | COLUMNFN = R | A column function is evaluated during data retrieval. |
FANLC036 | COLUMNFN = S | A column function is evaluated during a sort for a GROUP BY clause. |
FANLC037 | TSLOCKMO = S | Shared locking at the tablespace level is in effect for this query. |
FANLC038 | TSLOCKMO = X | Exclusive locking at the tablespace level is in effect for this query. |
FANLC039 | TSLOCKMO = IS | Intent share locking at the page level is in effect for this query. |
FANLC040 | TSLOCKMO = IX | Intent exclusive locking at the page level is in effect for this query. |
FANLC041 | XSTYPE = D and | A row is being deleted from table creator.tname, which causes cascading deletes to at least the table xdepcr.xdeptb. |
XDELRULE = C | ||
FANLC042 | PAGERNGE = LITSPACE and | Query does not qualify for Page Range processing. |
XSEGSIZE > 0 | ||
FANLC044 | PRLMMODE = I | I/O Parallelism is enabled. |
FANLC045 | PRLMMODE = C | CP Parallelism is enabled. |
FANLC046 | JOINTYPE = L | The JOIN_TYPE indicates a Left or Right Outer Join. |
FANLC047 | JOINTYPE = F | The JOIN_TYPE indicates a Full Outer Join. |
FANLC049 | TSLOCKMO = N | No locking is in effect for this query. |
FANLC050 | TSLOCKMO = NS | Locking is dependent on the run time isolation level. No locking is in effect for the UR isolation level. Shared locking is in effect for the CS and RR isolation levels. |
FANLC051 | TSLOCKMO = NIS | Locking is dependent on the run time isolation level. No locking is in effect for the UR isolation level. Intent share locking is in effect for the CS and RR isolation levels. |
FANLC052 | TSLOCKMO = NSS | Locking is dependent on the run time isolation level. No locking is in effect for the UR isolation level. Intent share locking is in effect for the CS isolation level. Shared locking is in effect for the RR isolation level. |
FANLC053 | TSLOCKMO = SS | Locking is dependent on the run time isolation level. Intent share locking is in effect for the UR and CS isolation levels. Shared locking is in effect for the RR isolation level. |
FANLC054 | XSTYPE = H or | Cursor with hold processing is being used. |
XSTYPE = I or | ||
XSTYPE = A | ||
FANLC056 | TSLOCKMO = SIX | Share with intent exclusive locking is in effect for this query. |
FANLC059 | PAGERNGE = Y | Page Range processing has been selected for this table, indicating a Limited Partition Scan. |
FANLC060 | DB2VERS > 4.0 and | The JOIN_TYPE indicates an Inner Join. |
JOINTYPE = LITSPACE and | ||
METHOD IN ’1, 2, 4’ | ||
FANLC061 | PRLMMODE = X | Sysplex parallelism is enabled. |
FANLC062 | WHENOPT = B | The access path was determined at bind time. |
FANLC063 | WHENOPT = R | The access path was determined at run time. |
FANLC064 | WHENOPT = LITSPACE | The access path was determined at bind time using default filter factors for host variables and parameter markers. |
FANLC065 | DB2VERS >= 6.0 and | The Hint Name &OPTHINT is specified. |
OPTHINT NE LITSPACE | ||
FANLC066 | DB2VERS >= 6.0 and | The Hint Name &HINTUSED was evaluated by the optimizer as a valid access path. |
HINTUSED NE LITSPACE | ||
FANLC067 | DB2VERS >= 6.0 and | Direct row access is attempted by Db2. |
PRIMACCS = D | ||
FANLC068 | DB2VERS > 6.0 and | The JOIN_TYPE indicates a Star Join. |
JOINTYPE = S | ||
FANLC069 | XNPAGES < 10 and | Table creator.tname has NPAGES less than 10. |
XNOSTATS = N | ||
FANLC070 | QBLKTYPE IN 'UNION, UNIONA’ | This query contains UNION EVERYWHERE. |
FANLC071 | ACCESSTY IN 'I,I1,N,MX' and | Matching Index Columns = &XMTCHCOL |
XMTCHCOL <> (not equal) | ||
XMTCHCOL > 0 | ||
FANLC072 | ACCESSTY = N | Table creator.tname is being processed by an IN-List Index Scan of index accesscr.accessna. |
FANLC073 | DB2VERS >= 8.0 and | The ACCESSTY indicates that either a sparse index or data caching is used. Which technique is actually used is determined at runtime. |
JOINTYPE = S and | ||
ACCESSTY = T | ||
FANLC074 | PAGERNGE = Y and | This Limited Partition Scan will scan one or more DATA or INDEX partitions. |
ACCESSTY = R | ||
FANLC075 | PRLMMODE IN 'I, C, X' | The Degree of Parallelism is &ACSSDGRE |
FANLC076 | DB2VERS >= 7.0 and | Table creator.tname is a Dimension Workfile. |
TNAME begins with substring DSN_DIM_ and | ||
TBTYPEXP IN 'Q,W' | ||
FANLC077 | DB2VERS >= 7.0 and | Table creator.tname is a Table Function, which is a user-defined function that returns a table. |
TBTYPEXP = F | ||
FANLC078 | DB2VERS >= 7.0 and | Default values are used for those statistics that have not been updated. |
TBTYPEXP = F | ||
FANLC079 | DB2VERS >= 7.0 and | The creator.tname is a temporary intermediate result table that is not materialized. |
TBTYPEXP = Q | ||
FANLC080 | TNAME begins with substring DSNWFQB( | Table creator.tname is a Workfile produced by the Query Block indicated in parentheses following the table (workfile) name. |
FANLC081 | DB2VERS >= 7.0 and | The creator.tname is a temporary intermediate result table that is materialized into a Logical Workfile. |
TBTYPEXP = W | ||
FANLC082 | DB2VERS >= 7.0 and | The creator.tname is a Materialized Query Table. |
TBTYPEXP = M | ||
FANLC083 | DB2VERS >= 7.0 and | Buffers have been created for an INSERT statement specified within a SELECT. |
TBTYPEXP = B | ||
FANLC084 | DB2VERS >= 8.0 and | Access of Table creator.tname via a workfile scan of the intermediate result table of a materialized Table Function. |
ACCESSTY = RW | ||
FANLC085 | ACCESSTY = LITSPACE (blank) | ACCESSTY is not applicable to the current Query Block and Plan Number. |
FANLC086 | DB2VERS >= 8.0 and | Access of Table creator.tname is via a Sparse Index on the Star Join Workfile. A Sparse Index is dynamically built and points to a range of values. |
ACCESSTY = T | ||
FANLC087 | METHOD = 2 and | There are mrgejoin columns that are joined during the Merge Scan Join. |
MRGEJOIN <> LITSPACE (Blank) and | ||
MRGEJOIN > 0 | ||
FANLC088 | ACCESSTY = R and | Table creator.tname has at least one index. |
PBIGTS = Y and | ||
XHASINDX = Y | ||
FANLC089 | DB2VERS >= 8.0 and | The Index indexcreator.indexname contains varying length character data with the PADDED keyword. |
XPADDED = Y and | ||
ACCCRTR1 NE blanks and ACCNAME1 NE blanks | ||
FANLC090 | DB2VERS >= 8.0 and | The Index indexcreator.indexname contains varying length character data with the NOT PADDED keyword. |
XPADDED = N and | ||
ACCCRTR1 NE blanks and ACCNAME1 NE blanks | ||
FANLC091 | DBVERS >= 8.0 and | The Index indexcreator.indexname was either created prior to Db2 Version 8, or does not contain varying length character or graphic data. |
XPADDED = ? and | ||
ACCCRTR1 NE blanks and ACCNAME1 NE blanks | ||
FANLC092 | DB2VERS >= 8.0 and | The encoding scheme of the table is ASCII. |
TBENCODE = A | ||
FANLC093 | DB2VERS >= 8.0 and | The encoding scheme of the table is EBCDIC. |
TBENCODE = E | ||
FANLC094 | DB2VERS >= 8.0 and | The encoding scheme of the table is Unicode. |
TBENCODE = U | ||
FANLC095 | DB2VERS >= 8.0 and | The encoding scheme of the table contains multiple character sets. |
TBENCODE = M | ||
FANLC096 | DB2VERS >= 8.0 | The table accessed uses index controlled partitioning. |
CREATR1 and | ||
TNAME1 NE LITSPACE (blank) and | ||
TBPARTIND = N | ||
FANLC097 | DB2VERS >= 8.0 and | The table accessed uses table controlled partitioning. |
CREATR1 and | ||
TNAME1 NE LITSPACE (blank) and | ||
TBPARTIND = Y | ||
FANLC098 | DB2VERS >= 8.0 and | The index accessed by this query is a Data Partitioned Secondary Index (DPSI). |
ACCCRTR1 NE LITSPACE (blank) and | ||
ACCNAME1 NE LITSPACE (blank) and | ||
XDPSIIND = D | ||
FANLC099 | DB2VERS >= 8.0 and | The following table Creator: creator Table: tbname is a common table expression. |
TBTYPEXP = C | ||
FANLC100 | DB2VERS >= 8.0 and | The following table Creator: creator Table: tbname is a recursive common table expression. |
TBTYPEXP = R | ||
FANLC101 | DB2VERS >= 8.0 and | A parallel sort of the composite table will be performed. |
SORTCPGR = ACSSPGID and | ||
ACSSPGID NE LITSPACE (blank) | ||
FANLC102 | DB2VERS >= 8.0 and | A parallel sort of the new table will be performed. |
SORTNPGR = ACSSPGID and | ||
ACSSPGID NE LITSPACE (blank) |
Consequences
Member | Trigger | Text |
---|---|---|
FANLS001 | METHOD = 1 and | An increase in the size of the table creator.tname may have the potential to cause an exponential increase in query execution time. The nested loop join method used here decreases in efficiency, either:
|
JOINTYPE <> S | ||
FANLS002 | METHOD in ’2, 4’ and | Processing cost and I/O cost are increased when Db2 sort is used to scan and access data during a join process. |
SORTCJO = Y or | ||
FANLS003 | ACCESSTY = R and | A scan of a tablespace of this size significantly adds to:
|
PBIGTS = Y | ||
JOINTYPE <> (not equal) S | ||
FANLS004 | ACCESSTY = R and | In a tablespace that is not segmented, Db2 reads every row in tablespace xdbname.xtsname. The total time required to execute the query depends on the number of pages to be read in the tablespace. This includes storage for other tables, space left free for expansion, and unreclaimed storage after delete operations. |
PBIGTS = Y and | ||
XSEGSIZE = 0 and | ||
XNTABLES > 1 | ||
FANLS005 | ACCESSTY = I and | In a non-matching index scan, Db2 must read all the leaf pages of the index. |
XMTCHCOL = 0 | ||
FANLS006 | PINDXS = Y and | Since data pages are also read during the scan, the I/O cost of the query may be higher than for a tablespace scan. |
ACCESSTY = I and | ||
INDEXONL = N | ||
FANLS007 | PINDXS = Y and | Because of the number of rows (xcard) in table creator.tbname the full scan of index accesscr.accessna may not be appropriate since this will significantly increase the I/O cost of the query. |
PBIGIX = Y | ||
FANLS008 | XNLEVELS > 3 and | A matching index scan requires an I/O operation for each level of the index. |
XCOLCNT = | ||
FANLS009 | XNLEVELS > 3 | Extra I/O and CPU time is required to keep a large index balanced through the splitting of index pages, these index pages may be scattered across DASD volumes adding to I/O cost. |
FANLS010 | PARTIDX = Y and | The index scan involves reading index pages as well as data pages. If the data is not in index order, I/O may be even higher than a tablespace scan. |
INDEXONL = N | ||
FANLS011 | PDUPIX = Y | Multiple read operations are required to obtain all information for a given index key using a duplicate index. |
FANLS012 | PDUPIX = Y and XSTYPE = D and | Db2 delete operations on indexes with duplicate key values allowed require more I/O time than unique indexes. Every entry of a set of duplicates is deleted one at a time. |
XTYPE = N or (XTYPE = LITSPACE (blank) and | ||
DB2VERS < 4.0) | ||
FANLS013 | ACCESSTY in 'I, I1,N, MX' and | For small tables (less than 10 pages in size), the increase in overhead incurred for index maintenance may significantly offset any performance gains obtained by use of an index. |
XNPAGES < 10 and | ||
XNOSTATS = N | ||
FANLS014 | TSLOCKMO = S | Contention may occur with updates of this table. |
FANLS015 | TSLOCKMO = S and | Contention is experienced for all tables in the tablespace. |
XNTABLES > 1 and | ||
XSEGSIZE = 0 | ||
FANLS016 | TSLOCKMO = X | No other user is able to access table creator.tname for the duration of this query. |
FANLS017 | TSLOCKMO = X and | Contention is experienced for all tables in the tablespace. |
XNTABLES > 1 and | ||
XSEGSIZE = 0 | ||
FANLS018 | PSORT = Y | Use of Db2 sort puts a load on the following resources: |
FANLS019 | CNSFOUND = N | No CONSEQUENCES were found for this Query Block. |
FANLS020 | PAGERNGE = LITSPACE and | All partitions may be opened to satisfy the query. |
XSEGSIZE > 0 | ||
FANLS028 | PRLMMODE = C | CP parallelism involves the use of multiple parallel CP tasks. Locks are obtained independently by each task. This may increase the number of locks acquired by an application. |
FANLS029 | XSTYPE IN ’H, I, A’ | Cursor’s declared using the WITH HOLD option may continue to hold locks after a COMMIT. |
FANLS032 | PRLMMODE = X | At execution time, Db2 may use fewer operations in parallel than was originally planned or it may not use parallelism. |
FANLS033 | DB2VERS >= 6.0 and | Though Db2 may plan to use Direct Row Access, certain situations might cause Db2 to not use direct row access at run time. For instance, the row location may change between the first and second time it is accessed. A REORG is a potential way the row location could change. Db2 cannot use direct row access to find the row on the second attempt. In place of using direct row access, Db2 uses the access path indicated by the ACCESSTY column of PLAN_TABLE. |
PRIMACCS = D | ||
FANLS034 | DB2VERS >= 6.0 and | When you give an optimization hint (OPTHINT='hint id'), Db2 verifies the information in the PLAN_TABLE to ensure that you pick a legitimate access path. If the access path you specify has major problems, Db2 rescinds all hints for that query block. In that event, Db2 determines the access path as it normally does. |
OPTHINT NE LITSPACE | ||
FANLS035 | INDEXONL = Y and | Although the Plan Table indicates Index Only access, access to the data pages is required for UPDATE and DELETES. |
QBLKTYPE = DELETE or | ||
QBLKTYPE = UPDATE | ||
FANLS036 | JOINTYPE = S | In the Star Schema, the Fact Table must minimize unnecessary probes and provide the maximum level of matching index columns based on pre-joined dimensions. |
FANLS037 | JOINTYPE = S and | In the Star Schema, use of the nested loop join method to join the Fact Table back to the (inner) Dimension Tables, require that these tables have indexes on the join columns, thus avoiding repeated scans on these tables. |
METHOD = 1 | ||
FANLS038 | JOINTYPE = S | In the Star Join method: If Snowflakes exist they are materialized before the joins are optimized. |
FANLS039 | JOINTYPE = S | In the Star Join method: Dimension Workfiles joined before the fact table may be scanned many times, possibly causing a high getpage count on the workfile buffer pool and possibly many physical page reads. |
FANLS040 | XMTCHCOL = XCOLCNT and | If the matching predicates on index accesscr.accessna are equal-predicates, the index qualifies as an equal-unique index, which is the most efficient index access outside of one-fetch index access. |
XMTCHCOL > 0 and | ||
PDUPIX = N | ||
FANLS041 | PREFETCH = L | List Prefetch utilizes skip sequential processing, allowing unreferenced data pages to be skipped. |
FANLS042 | PREFETCH = L | List Prefetch minimizes seek time to locate pages by reading pages sequentially as they appear on DASD. |
FANLS043 | PREFETCH = L | List Prefetch allows fewer I/Os to the data pages since the RIDs are sorted and reduced before the data pages are accessed. |
FANLS044 | PAGERNGE = Y | In a Limited Partition Scan only needed partitions are scanned. |
FANLS045 | PAGERNGE = Y | In a Limited Partition Scan only the first key column of the Partitioning Index is important in limiting the range of the partition scan. |
FANLS046 | PAGERNGE = Y and | This Limited Partition Scan will perform a non-partitioning index (NPI) Logical Partition Scan. |
ACCESSTY = I | ||
FANLS047 | JOINTYPE = S | For the Star Join method, queries with low filtering or of I/O bound nature will not benefit. |
FANLS048 | JOINTYPE = S | The Star Join method utilizes an Index Repositioning technique, versus the traditional Cartesian Join. |
FANLS049 | JOINTYPE = S or | Optimization Hints cannot be used to force the Star Join method. |
OPTHINT NE LITSPACE (blank) or | ||
HINTUSED NE LITSPACE (blanks) | ||
FANLS050 | JOINTYPE = S or OPTHINT NE LITSPACE (blanks) | If a Hint causes unnecessary processing, such as, additional sort(s), multiple index usage, materialization, etc., the Optimizer ignores the Hint. |
FANLS051 | PRLMMODE IN 'I,C,X' and | The Degree of Parallelism may be adjusted at execution time, depending upon the contents of the host variables, ambiguous cursors, and availability of required prerequisites. |
ACSSDGRE = 0 | ||
FANLS052 | PRLMMODE = C | CPU Parallelism includes parallel I/O. |
FANLS053 | PRLMMODE IN 'I,C,X' or PRIMACCS = D | Direct Row Access and Parallelism are mutually exclusive. If the query qualifies for both, then Direct Row Access is selected. |
FANLS054 | DB2VERS >= 6.0 and | When used Direct Row Access is very efficient, since Db2 does not need to use an index or tablespace scan to locate the row. Instead Db2 locates the row with the value of the ROWID. |
PRIMACCS = D | ||
FANLS055 | PRLMMODE IN 'I, C, X’ | If there is insufficient buffer pool space before the start of parallelism, either the |
FANLS056 | DB2VERS >= 7.0 and | The result of the UNION is materialized into a Logical Work File and subsequently read from that Logical Work File by the Parent Query Block. |
QBLKTYPE = UNION and | ||
TBTYPEXP = W | ||
FANLS057 | DB2VERS >= 7.0 and | The result of the UNION ALL is materialized into a Logical Work File and subsequently read from that Logical Work File by the Parent Query Block. |
QBLKTYPE = UNIONA and | ||
TBTYPEXP = W | ||
FANLS058 | DB2VERS >= 7.0 and | Materialization can be resource intensive if there are many intermediate rows which must be written to the temporary work area. |
TBTYPEXP = W | ||
FANLS059 | DB2VERS >= 8.0 and | Db2 uses a technique referred to as materialized fetch or block fetch. In a block fetch all rows are returned during the first invocation of the table function, prefetched and stored in a materialized Db2 workfile. |
ACCESSTY = RW | ||
FANLS060 | DB2VERS >= 8.0 and | A Sparse Index is dynamically built and points to a range of values. |
ACCESSTY = T | ||
FANLS061 | METHOD = 2 | In a Merge Scan Join, Db2 scans both tables in the order of the join column(s) and matching rows are returned in the resulting table. As the rows in the tables must be in sequence, Db2 either sorts the rows or retrieves them using a high cluster ratio index. |
FANLS062 | JOINTYPE = F and | A Full Outer Join requires that the Merge Scan Join method is used. |
METHOD =2 | ||
FANLS063 | METHOD = 2 and | In a Merge Scan Join that requires a sort, all predicates are applied before the sort in an attempt to reduce the number of rows to be sorted. |
SORTNJO (Sort Inner Join Table) = Y or SORTCJO (Sort Outer Join Table) = Y | ||
FANLS064 | METHOD = 1 | In the Nested Loop Join Method, Db2 retrieves every row of the composite (outer) table that satisfies your WHERE clause condition(s). As each outer table row is retrieved, Db2 uses the WHERE clause joining criteria to: (1) Access rows in the inner table; (2) Apply any further WHERE clause conditions; and (3) Retain all qualifying rows in a composite table. |
FANLS065 | METHOD = 1 | The Nested Loop Join method does not require that the rows to be joined are in sequence or sorted. However, the Db2 Optimizer may choose to sort the composite (outer) table. |
FANLS066 | METHOD = 1 | The Nested Loop Join technique avoids materialization of the intermediate result set. |
FANLS067 | METHOD = 4 | In the Hybrid Join Method, Db2 sequences the outertable in the order of the inner table join index. The inner table index is then scanned to retrieve the RIDs that match the join predicate. The resulting inner tablerows are retrieved via skip sequential processing. |
FANLS068 | METHOD = 4 | The Hybrid Join can be considered a mix between a Merge and Nested Loop Join. |
FANLS069 | SORTCOR = Y or SORTCUN = Y | A single sort puts the rows in order for the ORDER BY clause and removes any duplicates. |
FANLS070 | JOINTYPE = L | A Left Outer Join keeps unmatched rows from the composite (outer) table. The |
FANLS071 | JOINTYPE = L | A Right Outer Join keeps unmatched rows from the new (inner) table. |
FANLS072 | JOINTYPE = F | A Full Outer Join keeps unmatched rows from both tables. The composite rows resulting from the unmatched rows are filled out with null values. |
FANLS073 | DB2VERS > 4.0 and | An Inner Join discards all unmatched rows. |
JOINTYPE = LITSPACE and | ||
METHOD IN ’1, 2, 4’ | ||
FANLS074 | DB2VERS > 6.0 and | A Star Join joins a column from the fact table with the key column of the corresponding dimension table. |
JOINTYPE = S | ||
FANLS075 | DB2VERS >= 8.0 and | The NOT PADDED keyword allows varying length columns in the index key to |
XPADDED = N | ||
ACCCRTR1 NE blanks and | ||
ACCNAME1 NE blanks | ||
FANLS076 | DB2VERS >= 8.0 and | The NOT PADDED keyword impedes index comparisons. This is because |
ACCCRTR1 NE blanks and | ||
ACCNAME1 NE blanks | ||
XPADDED = N | ||
FANLS077 | DB2VERS >= 8.0 and | If varying-length data is returned, or a VARCHAR column has a LIKE predicate Index-only access is not allowed for padded indexes. The exception to this is when the VARCHAR FROM INDEX field DB2 Install field is set to YES and Db2 plans or packages are rebound to pick up the change. |
XPADDED = Y | ||
FANLS078 | DB2VERS >= 8.0 and | DPSI’s allow for query parallelism. |
XPART > 0 and | ||
XDPSIIND = D and | ||
ACCCRTR1 NE LITSPACE | ||
ACCNAME1 NE LITSPACE | ||
FANLS079 | DB2VERS >= 8.0 and | DPSI’s require a separate probe for each qualified partition. It is important to reduce the number of qualified partitions as much as possible. If your query predicate only references columns in a secondary index, it is likely to run slower. |
XPART > 0 and | ||
XDPSIIND = D and | ||
ACCCRTR1 NE LITSPACE (blank) and | ||
ACCNAME1 NE LITSPACE (blank) | ||
FANLS080 | DB2VERS >= 8.0 and | Common table expressions are materialized if they are referenced more than once. If a common table expression is only referenced once the common table expression is treated like a regular table expression and materialization is avoided whenever possible. |
TBTYPEXP = C or | ||
TBTYPEXP = R | ||
FANLS081 | DB2VERS >= 8.0 and | Keep in mind that recursive common table expressions can create an infinite recursion cycle (loop). Make sure that recursion cycles will terminate. This is specially important if the data involved is cyclic. |
TBTYPEXP = R |
Recommendations
Member | Trigger | Text |
---|---|---|
FANLR001 | METHOD = 1 | To reduce the number of rows scanned for the join, consider adding additional selection criteria within your WHERE clause to further filter out unwanted information. Or if there are correlated concatenated key columns of an index, consider executing the RUNSTATS utility with the KEYCARD and FREQVAL options to collect multi-column cardinality. |
FANLR002 | METHOD = 2 and | Provide an index to allow more efficient access to the data involved in the join. |
(SORTCJO = Y or SORTNJO = Y) | ||
FANLR003 | METHOD = 4 and | Provide a well clustered index on the join columns of the outer and inner tables involved in the join. |
SORTCJO = Y or SORTNJO = Y | ||
FANLR005 | ACCESSTY = R and | Consider using the File-AID for Db2 Explain Table/Index display to review the available index columns for incorporation into the query. |
PBIGTS = Y and | ||
XHASINDX = Y and | ||
XMODE = 0 | ||
FANLR006 | ACCESSTY = R and | Consider using the File-AID for Db2 3.4 information display to review the available index columns for incorporation into the query. |
PBIGTS = Y and | ||
XHASINDX = Y and | ||
XMODE not = 0 | ||
FANLR007 | ACCESSTY = R and | Table creator.tname has no available indexes. Consider creating an index for frequently used columns in the table and incorporating the index into the query. |
PBIGTS = Y and | ||
XHASINDX = N | ||
FANLR008 | ACCESSTY = R and | Consider segmenting tablespace xdbname.xtsname, so that Db2 will scan only segments containing rows of table creator.tname. |
PBIGTS = Y and | ||
XSEGSIZE = 0 and | ||
XNTABLES > 1 | ||
FANLR009 | PINDXS = Y and | To retrieve the data as efficiently as possible, a matching index scan should be used. Consider: |
XNPAGES >= 6 | ||
FANLR010 | PINDXS = Y and | The low cluster ratio (clustr) of this index, indicates that reorganization of the indexspace would improve Db2’s access path during the index scan. Since this is a segmented tablespace, reorganizing it arranges the data in the order of the clustering index. A high cluster ratio allows Db2 to use sequential PREFETCH to read consecutive pages. |
XDEFCLS = Y and | ||
XCLSTRD = N and | ||
XDEGSIZE > 0 | ||
FANLR011 | PINDXS = Y and | To reduce the number of levels for index accesscr.accessna:
|
XNLEVELS > 3 | ||
FANLR012 | PPARTIDX = Y | To retrieve the data as efficiently as possible, a matching index scan using the full index key should be used. Consider adding an index with the desired column(s) as the key. |
FANLR013 | PDUPIX = Y | Modifying the index key to make it unique allows Db2 to locate needed data with the least number of I/O operations. |
FANLR014 | ACCESSTY IN 'I, I1,N,MX' and | Verify that Table creator.tname remains under 10 pages in size and consider not using an index for access. The NPGTHRSH system parameter can be set to influence the Db2 Optimizer in it’s selection of tablespace scan versus index scan. |
XNPAGES < 10 and | ||
XNOSTATS = N | ||
FANLR015 | TSLOCKMO = S or | Consider segmenting the tablespace, so that a tablespace scan only locks pages containing rows of the desired table. Also, Db2’s locking concurrency control is improved since a choice of locksizes is available for each table in the tablespace. |
XNTABLES > 1 and | ||
XSEGSIZE = 0 | ||
FANLR016 | PSORT = Y | Consider using indexes to give direct access to data, and improve overall response time and performance by eliminating the need for a sort. |
FANLR017 | XSTYPE = D and | Verify that the delete rule for table creator.tname is correct for this relationship. |
XDELRULE = C | ||
FANLR018 | RECFOUND = N | No RECOMMENDATIONS were found for this Query Block. |
FANLR019 | XNOSTATS = Y | Use the Db2 RUNSTATS utility to gather accurate statistical information for the Db2 structures accessed by this query. |
FANLR020 | XNOSTATS = Y and | The File-AID for Db2 Explain Table/Index displays may be used to determine which structures require statistics. Return to the ANALYSIS screen and use Catalog Information or Explain Detail to access table/column/index information. Any column with a “-1” value indicates RUNSTATS has not been run. |
XMODE = O | ||
FANLR021 | XNOSTATS = Y and | The File-AID for Db2 3.4 information displays may be used to determine which tables require statistics. Any column with a "-1" value indicates RUNSTATS has not been run. |
XMODE not = O | ||
FANLR022 | PAGERNGE = LITSPACE and | Provide a predicate that matches columns of the partitioning index. This may allow Db2 to limit a scan of data in a partitioned table space to one or more partitions, page range screening. Page range screening can be used for each table accessed in a join, as long as the access is sequential. |
XPART > 0 and | ||
PRLMMODE <> (not equal) I and | ||
PRLMMODE <> (not equal) C | ||
FANLR023 | JOINTYPE = LITSPACE and | Provide a predicate that matches columns of the partitioning index. This may allow Db2 to limit a scan of data in a partitioned table space to one or more partitions, providing this query is not using a join. Parallelism is being used and a page scan cannot be used with a join. |
PRLMMODE IN ’I, C’ | ||
FANLR024 | TRYPRLMD = Y | Specify DEGREE(ANY) for BIND’s and REBIND’s to enable parallelism for static SQL. SET CURRENT DEGREE=’ANY’ to enable parallelism for dynamic SQL. Please note: CP parallelism is not considered unless Db2 is executing on a Central Processor complex of multi tightly-coupled processors and more than one is online when the BIND occurs. |
FANLR025 | XSTYPE = A | Cursor appears ambiguous. Use the FOR FETCH ONLY clause or bind with CURRENTDATA(NO) to remove the ambiguity. This may enable Parallelism for the query. |
FANLR027 | PRLMMODE = C | Frequent commits are recommended for repeatable read applications. If CP-parallelism is a suspected source of contention problems it can be disabled. Rebind after changing DEGREE(ANY) to DEGREE(1) to disable it for static SQL. Execute SET CURRENT DEGREE = ’1’ to disable it for dynamic SQL. The default for CURRENT DEGREE is 1 unless it has been changed by your installation. If it has not changed then removing DEGREE(ANY) before rebinding or SET CURRENT DEGREE = ’1’ may also disable CP-parallelism for static or dynamic SQL respectively. |
FANLR028 | XSTYPE IN ’H, I, A’ | Close cursors declared WITH HOLD as soon as possible to release any locks the cursor may have. |
FANLR030 | PRLMMODE = X | If the statement was bound at the same time as this Db2 is a member of a data sharing group, the PARALLELISM_MODE column might contain an X even if only this one Db2 is active. This permits Db2 to take advantage of extra processing power which may be available at execution time. If other members are unavailable at execution time, Db2 runs the query within the single Db2 member. |
FANLR031 | DB2VERS >= 6.0 and | Write applications to handle the chance that direct row access may not be used. Some alternatives are: 1) Make sure the application does not attempt to recall ROWID columns across reorganizations of the table space. 2) When an application commits, it frees its claim on the table space. It is possible that a REORG may run and move the row, this stops direct row access. Plan the commit processing accordingly. Use the returned row ID value before committing or reselect the row ID value after a commit has been issued. 3) If the application is saving the ROWID column values from another table, update those values after the table with the ROWID column is reorganized. 4) Allow Db2 to use an index if direct row access is disabled by creating an index on the ROWID column. 5) Enhance the ROWID column predicate with another predicate which enables Db2 use an existing index on the table. |
PRIMACCS = D | ||
FANLR032 | DB2VERS > 6.0 and | The selection method may change in a later release of Db2. This change could cause your changes to degrade performance. To stop this, save the old catalog statistics or SQL before thinking of making any changes to control the choice of access path. Take performance measurements before and following any changes. After migrating to a new release, examine the performance again. Be ready to back out any changes that have degraded performance. |
HINTUSED NE LITSPACE or | ||
OPTHINT NE LITSPACE | ||
FANLR033 | QBLKTYPE IN 'UNION, UNIONA' | Since Db2 does not provide explicit information identifying query rewrites, closely examine the Query Block No and Parent Query No dependencies to determine if query rewrite has taken place. |
FANLR034 | DB2VERS >= 8.0 and | Use of a Star Join Pool to allow in-memory workfiles can further enhance Star Join processing. In-memory workfiles can save large numbers of getpage and I/O activities on the workfile buffer pool, thereby reducing contention. |
JOINTYPE IN 'S,T' | ||
FANLR035 | JOINTYPE = S | Evaluate whether Star Join support will benefit your applications before turning it ON for a specific Db2 Subsystem, as there is a possibility that it can cause performance degradation. Enable only if an overall benefit will be achieved. |
FANLR036 | JOINTYPE = S | Physically separating the Fact Table from the Dimension Tables may improve I/O throughput. |
FANLR037 | JOINTYPE = S | To increase selection of the Star Join method, make sure all Fact Tables on the current Db2 Subsystem have the appropriate indexes defined. |
FANLR038 | JOINTYPE = S | Cluster the data by the index that is set up to support the Star Join. Ensure the Fact Table Index has a high cluster ratio covering all the Dimension Tables. |
FANLR039 | PRLMMODE IN 'I, C, X' | If parallelism is not desired, use the Resource Limit Facility (RLF) to disable parallelism for identified Plans and Authids. |
FANLR040 | DB2VERS >= 7.0 and | The following statistics in the SYSIBM.SYSROUTINEScatalog table should be monitored and updated appropriately to ensure proper access path selection for Table Functions: CARDINALITY |
TBTYPEXP = F | ||
FANLR041 | SORTNUN = Y or | Work with the System Administrator to properly size the Sort Pool and Work File Tablespaces for your application workload. |
SORTNJO = Y or | ||
SORTNOR = Y or | ||
SORTNGR = Y or | ||
SORTCUN = Y or | ||
SORTCJO = Y or | ||
SORTCOR = Y or | ||
SORTCGR = Y | ||
FANLR042 | METHOD > 0 | If the desired Join Method was not chosen, verify that the Catalog Statistics on the joined tables are accurate.This can affect the Join Method selected. |
FANLR043 | JOINTYPE = L | Recommend following the guideline of coding Right Outer Joins as Left Outer Joins to avoid confusion in plan table interpretation. |
FANLR044 | DB2VERS >= 8.0 and | To permit variable character index only retrieval, prevent incompatible data procurement of the full column width and use less space within the index, use NOT PADDED indexes. |
ACCCRTR1 NE blanks and | ||
ACCNAME1 NE blanks and ’ | ||
XPADDED = Y | ||
FANLR045 | DB2VERS >= 8.0 and | Consider using ALTER INDEX to change the following index indexcreator.indexname to NOT PADDED if it contains a key of a varying-length character or graphic column. |
XPADDED = ? and | ||
ACCCRTR1 NE blanks and | ||
FANLR046 | DB2VERS >= 8.0 and | You may reduce the need for Db2 to perform a sort for SELECT statements
Consult with your database administrator to determine if you can take |
METHOD = 3 and | ||
SORTNOR = Y or SORTCOR = Y | ||
FANLR047 | DB2VERS >= 8.0 and | When possible provide a predicate that references the columns in the
Would benefit from the use of a DPSI, because the number of partitions |
XPART > 0 and | ||
XDPSIIND = D and | ||
TPARTIND = Y | ||
FANLR048 | DB2VERS >= 8.0 and | A query with predicates on partitioning columns plus secondary index columns is likely to use a DPSI index. Consider rewriting your query to meet these conditions. |
XDPSIIND = N and | ||
XPART > 0 and | ||
CREATR1 and TNAME NE LITSPACE (blank) | ||
FANLR049 | DB2VERS >= 8.0 and | Consider replacing an existing Non-Partitioned Secondary Index (NPSI) with a Data Partitioned Secondary Index (DPSI), if there are perceivable benefits. Some examples would be easier data or index maintenance, improved data or index availability, or improved performance. |
XDPSIIND = N and | ||
XPART > 0 and | ||
ACCCRTR1 NE LITSPACE (blank) and | ||
ACCNAME1 NE LITSPACE (blank) | ||
FANLR050 | DB2VERS >= 8.0 and | To prevent the possibility of an infinite loop with recursive SQL, you should desk check all recursive SQL. You should also test your recursive SQL against small tables, before implementing it in a production environment. |
TBTEYPEXP = R |
Summary
Member | Trigger | Text |
---|---|---|
FANLU001 | XMLTSCAN = Y | Multiple tablespace scans are being used to satisfy the query. The read operations required to do multiple tablespace scans will significantly increase the I/O cost of this query. |
FANLU002 | XMLTSCAN = Y | Consider creating an index and incorporating it into the query for more direct access to the data. |
FANLU003 | XMLTSCAN = Y and | Consider segmenting tablespace xdbname.xtsname, so that Db2 will scan only segments containing rows of table creator.tname. |
XSEGSIZE = 0 and | ||
XNTABLES > 1 | ||
FANLU004 | XNOSTATS = Y | Runstats information is missing for some or all of the Db2 components involved in this query. |
FANLU005 | XNOSTATS = Y | Both the access path chosen by Db2 and the discussion appearing above have been distorted by the absence of required information. |
Trigger Descriptions
Trigger | Description | Origin |
---|---|---|
ACCESSTY = I | Access type is an index scan | Plan |
ACCESSTY = I1 | Access type is a one-fetch index scan | Plan |
ACCESSTY = R | Access type is a tablespace scan | Plan |
ACCESSTY = N | Access type is IN list of values, index access | Plan |
ACCESSTY = M | Access type is multi index scans followed by MX, MI, or MU | Plan |
ACCESSTY = MX | Access type is one of many index scans | Plan |
ACCESSTY = MI | Access type is an intersection of multiple indexes | Plan |
ACCESSTY = MU | Access type is a union of multiple indexes | Plan |
ACCESSTY = RW | Access type is a work file scan of materialized UDF table function | Plan |
ACCESSTY = T | Access type is by a sparse index | Plan |
ACCESSTY = blank | Access type is insert or update/delete where current of | Plan |
COLUMNFN = R | Evaluation at data retrieval time | Plan |
COLUMNFN = S | Evaluation during sort | Plan |
CORRNAME = | Correlation name | Internal |
CNSFOUND = N | Consequences found | Internal |
FMNDXS = Y | ACCESSTY IN ’I,I1,N,MX’ and XMTCHCOL = COLCNT | Internal |
DB2VERS > 4.0 | Db2 Version greater than 4.0 | Internal |
DB2VERS > 7.0 | Db2 Version greater than 7.0 | Internal |
DB2VERS > 8.0 | Db2 Version greater than 8.0 | Internal |
HINTUSED NE LITSPACE | The specified optimization hint has been used by Db2 | Plan |
INDEXONL = N | Data access | Plan |
JOINTYPE = F | Join type is Full Outer Join | Plan |
JOINTYPE = L | Join type is Left or Right Outer Join | Plan |
JOINTYPE = S | Join type is Star Join | Plan |
KEEPDYNAMIC = YES | Bind was performed with KEEPDYNAMIC(YES). | Plan |
LITSPACE = blank | Literal space (blank) | Internal |
METHOD = 0 | First table accessed | Plan |
METHOD = 1 | Nested Loop join (inner table) | Plan |
METHOD = 2 | First table accessed | Plan |
METHOD = 3 | Additional sorts needed | Plan |
METHOD = 4 | Hybrid join | Plan |
MIXOPSEQ not = 0 | Sequence in multiple index scan | Plan |
OPTHINT NE LITSPACE | An optimization hint has been specified | Plan |
PAGERNGE = LITSPACE | Table does not qualify for Page Range screening | Plan |
PAGERNGE = Y | Table qualifies for Page Range screening | Plan |
PDUPIX = Y | Index allows duplicates | Internal |
PDUPIX = N | Index does not allow duplicates | Internal |
PBIGTS = Y | XNACTIVE > KBIGPGS (=20) | Internal |
PBIGIX = Y | XCARD > KBIGIDX (=10,000) | Internal |
PINDXA = Y | XMTCHCOL = 0 | Internal |
PINDXS = Y | XMTCHCOL = 0 | Internal |
PDUPIX | ACCESSTY IN ’I,I1,N,MX’ and UNIORULE = D | Internal |
PPARTIDX = Y | XMTCHCOL not= XCOLCNT and XMTCHCOL > 0 | Internal |
PREFETCH = S | Sequential prefetch | Plan |
PREFETCH = L | List prefetch | Plan |
PRIMACCS = D | Db2 attempts to use Direct Row Access | Plan |
PRLMODE = C | CP Parallelism is enabled | Plan |
PRLMODE = I | I/O Parallelism is enabled | Plan |
PRLMMODE = X | Sysplex parallelism is enabled | Plan |
PSORT | SORTNUM = Y or SORTNJO = Y or SORTNOR = Y or SORTNGR = Y or SORTCUN = Y or SORTCJO = Y or SORTCOR = Y or SORTCGR = Y | Internal |
QBLKTYPE = UNION | The operation performed for this query block is a UNION | Plan |
QBLKTYPE = UNIONA | The operation performed for this query block is a UNION ALL | Plan |
QBLKTYPE = DELETE | The operation performed for this query block is a DELETE | Plan |
QBLKTYPE = UPDATE | The operation performed for this query block is a UPDATE | Plan |
REOPT = VARS | Bind option REOPT(VARS) was used. | Plan |
SORTUN = Y | Sort on new table to remove duplicate rows | Plan |
SORTNJO = Y | Sort on new table for method 2 (merge join) | Plan |
SORTNOR = Y | Sort on new table for ORDER BY | Plan |
SORTNGR = Y | Sort on new table for GROUP BY | Plan |
SORTCJO = Y | Sort of composite for method 2 (merge join) | Plan |
SORTCGR = Y | Sort on composite for GROUP BY | Plan |
TBTYPEXP = F | The new table type is a table function | Plan |
TBTYPEXP = Q | The new table type is a temporary result table | Plan |
TBTYPEXP = W | The new table type is a work file | Plan |
TBTYPEXP = M | The new table type is Materialized Query Table | Plan |
TBTYPEXP = B | The new table type is Buffers for an INSERT statement within a SELECT statement | Plan |
TBTYPEXP = C | The new table type is a Common table expression | Plan |
TBTYPEXP = I | The new table type is generated from an IN-LIST predicate | Plan |
TBTYPEXP = R | The new table type is a Recursive Common table expression | Plan |
TBTYPEXP = S | The new table type is a Subquery (correlated or non-correlated) | Plan |
TBTYPEXP = T | The new table type is a Table | Plan |
TNAME = | LITSPACE or CORRNAME or SUBSTR(1:7,TNAME) = DSNWFQB | Internal |
TRYPRLMD = Y | Try parallel mode | Internal |
TSLOCKMODE = S | Tablespace lock mode is share | Plan |
TSLOCKMODE = X | Tablespace lock mode is exclusive | Plan |
TSLOCKMODE = IS | Tablespace lock mode is intent share | Plan |
TSLOCKMODE = IX | Tablespace lock mode is intent exclusive | Plan |
TSLOCKMODE = NS | For UR isolation, tablespace lock mode is no lock; for CS, RS, or RR, it is an S lock | Plan |
TSLOCKMODE = NIS | For UR isolation, tablespace lock mode is no lock; for CS, RS, or RR, it is an IS lock | Plan |
TSLOCKMODE = NSS | For UR isolation, tablespace lock mode is no lock; for CS, or RS, it is an IS lock; for RR, it is an S lock | Plan |
TSLOCKMODE = SS | For UR, CS, or RS, tablespace lock mode is an IS lock; for RR, it is an S lock | Plan |
TSLOCKMODE = SIX | Tablespace lock mode is share with intent exclusive lock | Plan |
XCLSTRD = N | Table is not clustered by the index | Internal |
XCOLCNT = XMTCHCOL | Number of columns in key = number of keys in index scan | Internal |
XDEFCLS = Y | Cluster was specified when index was created | Internal |
XMLTSCAN = Y | Multiple Tablespace scans | Internal |
XDELRULE = C | Delete rule for table is cascade | Internal |
XHASINDX = Y | Table has an index | Internal |
XHASINDX = N | Table does not have an index | Internal |
XMODE = 0 | Analysis is online | Internal |
XMODE not= 0 | Analysis is batch | Internal |
XNLEVELS > 3 | Number of levels in index tree | Internal |
XNOSTATS = Y | Runstats have not been run for this table | Internal |
XNOSTATS = N | Runstats have been run for this table | Internal |
XNPAGES > = 10 | Number of pages on which rows of table appear > = 10 | Internal |
XNPAGES > 6 | Number of pages on which rows of table appear > 6 | Internal |
XNPAGES < 6 | Number of pages on which rows of table appear < 6 | Internal |
XNTABLES > 1 | Number of tables in tablespace | Internal |
XSEGSIZE = 0 | Tablespace is not segmented | Internal |
XSEGSIZE > 0 | Tablespace is segmented | Internal |
XSTYPE = D | SQL verb is DELETE | Internal |
XSTYPE = H | Cursor with hold processing | Internal |
XSTYPE = I | Non-updatable cursor with hold processing | Internal |
XSTYPE = A | Non-updatable ambiguous cursor with hold processing | Internal |
XTYPE = 2 | Access is through type 2 index | Internal |
XTYPE = LITSPACE | Access is through type 2 index | Internal |