FYI: PH28280 removes MGEXTSZ and Db2 12 (not 11) behaves as though MGEXTSZ=YES
was specified.
https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/wnew/src/tpc/db2z_12_enhancements.html
James Campbell
On 13 Jan 2021 at 20:04, Jack Campbell via Internation wrote:
> Scott,
>
> I agree completely with your suggestion on been conservative with the use of PRIQTY/SECQTY = -1/-1.
>
> Personally I reserve this option for non-partitioned tablespaces < 64GB , for any partitioned tablespaces (or PBG > 64gb) I still go old skool and calculate the expected size and assign PRIQTY/SECQTY in good 'chunks' appropriately to minimize extents/fragmentation (*unless each partition is very small).
>
> Whilst I can have up to 7,257 extents, do I really want a large, important/performance critical table taking so many extents (overhead), in potentially small increments - think of incremental inserts 24 * 7 or bulk inserts? I'm also concerned about REORG times and building the shadow copy in the same small(er) increments than if I define a decent amount of PRIQTY/SECQTY for my large partitioned tables.
>
> *Bill - it may just be time to REORG (at least a sample set) of them to verify you get the performance you expect with the new setting. When we moved over to -1/-1 for non-partitioned, we still got a few surprises on just how many extents could be allocated for a table close >= say 50GB.
>
> Regards
> Jack Campbell
>
> ------------------------------
> Jack Campbell
> Saxon Consulting, Inc.
> ------------------------------
> -------------------------------------------
> Original Message:
> Sent: Jan 13, 2021 12:38 PM
> From: Scott Walker
> Subject: DB2 Sliding Scale
>
> Nice reply by Jack.
>
> Bill - What is your goal by doing so?
>
> I'm all for using the sliding scale when appropriate. I use to believe in a blanket approach but I have since changed that opinion. The reason is large tables and specific situations.
>
> Here are some reasons (not an inclusive list).
>
> 1) We use sliding scale for many of our tablespaces in the lower environemnts that may have small or no rows. Production may be vastly different.
>
> 2) We have one table that comes to mind that is partitioned by date. The partition could be empty but then suddenly grow extremely large in lightning fast speed. I don't want Db2 to guess or struggle with figuring that out when I can easily see a good estimate for the final size. I have seen first hand the pain of growing datasets to a new extent in a ultra busy application. I don't want to risk that here when I don't need to.
>
> 3) SECQTY is based on PRIQTY. I'd much rather set primary to something valid and then let secondary build from that. That is mostly my strategy at this point if I don't use -1 for both.
>
> 4) Space isn't costly or something as critital to pay attention to but it's still a resource that we don't want to waste. So, having proper values (whether defined or sliding scale) is important.
>
>
>
> From the Information Center.
>
> "Changes to the secondary space allocation (SECQTY) take effect the next time Db2 extends the data set; however, the new value is not reflected in the integrated catalog until you use the REORG, RECOVER, or LOAD REPLACE utility on the table space or partition. The changes to the other storage attributes take effect the next time the page set is reset."
>
> "You can specify the primary and secondary space allocation or let Db2 choose them. Having Db2 choose the values, especially the secondary space quantity, increases the possibility of reaching the maximum data set size before running out of extents."
>
>
> Here are some links worth reading.
>
https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/sqlref/src/tpc/db2z_sql_altertablespace.html