Analyze the main misunderstanding of DB2 database performance
Main misunderstandings about DB2 database performance:
Logical design should always be fully mapped to Physical Design
Actual: the physical design in the DB2 database design should be as close as possible to the logical structure, but physical design changes made for performance cannot be ignored because they do not come from the logical design.
Put everything in a buffer pool (BP0) for DB2 to manage
Actually: As described in the DB2 manual and elsewhere, you have to (10000 4 k pages or less) with very limited memory ), you don't have time to manage it, and you didn't consider performance. It is recommended that you do not place anything except the DB2 catalog and Directory into BP0.
DSNDB07 is 100% ordered
Actually: DSNDB07 is never in the 100% order, because there is a random activity on the page in the working file. The activity may be as high as 45%, but usually ranges from 3% to 10%.
VARCHAR should always be placed at the end of the row
Actually: This is always a problem. If the table is always read and has very few updates, this will reduce the CPU load, but in other cases, this is the worst, even if the table is compressed. It should be placed at the end only when it is updated frequently, but not usually.
The program should be encoded in a way that follows the logical process
Actual: pseudo code or a logical process diagram does not need to consider performance-related encoding methods. This is very dramatic in the OLTP transaction code.
Most processes are not performed in SQL
Reality: in fact, the opposite is often true. SQL is a rich language that can process most processes. In fact, the biggest difficulty is that SQL is often used as an I/O processor rather than a collection processor.
The code and reference table should be used together with the referential integrity (RI) declared by DB2
Actually, RI should not be used as a shortcut for editing validity. This is usually something else, but should be used in real parent-child relationship.
A table can contain at most one or two indexes.
Actual: The table should have multiple indexes according to performance requirements.
Non-partitioned indexes (NPI) should not be used, especially in large tables.
Actually: this is related to countless problems, which can be overcome in general, but NPI is necessary for proper access and performance.
Large tables should be split
Actually: A table with too much data means performance degradation, which is a legacy concern. This understanding has been eliminated when more than 6 billion rows of data exist in some tables.