Welcome to dbForumz.com!
FAQFAQ    SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Max Rows Per Page, Reserve Page Gap, and Fill Factor

 
   Database Forums (Home) -> Sybase RSS
Next:  json and special chars  
Author Message
1dg618

External


Since: Nov 05, 2011
Posts: 2



(Msg. 1) Posted: Sat Nov 05, 2011 3:34 pm
Post subject: Max Rows Per Page, Reserve Page Gap, and Fill Factor
Archived from groups: comp>databases>sybase (more info?)

I have been trying to find information on how to try to figure this
out without any luck.

What is the best way to figure out how to set the following based on
the locking schemes? Does everyone just use the defaults, which are
zeros?

I was reading how setting the max rows per page can reduce contention?

Locking Scheme:

All pages:

Max rows per page

Reserve page gap

Fill factor (0 - 100)

Data pages:

Expected row size

Reserve page gap

Fill factor (0 - 100)

?

 >> Stay informed about: Max Rows Per Page, Reserve Page Gap, and Fill Factor 
Back to top
Login to vote
Derek Asirvadem

External


Since: Nov 06, 2011
Posts: 2



(Msg. 2) Posted: Sun Nov 06, 2011 7:36 pm
Post subject: Re: Max Rows Per Page, Reserve Page Gap, and Fill Factor [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Nov 6, 9:34 am, 1dg618 wrote:

> I have been trying to find information on how to try to figure this
> out without any luck.

The Sybase manuals are not bad at all for that subject.

Probably best for you to please read the Sybase Fragmentation doc I
linked in my last answer. Then ask specific questions.

> What is the best way to figure out how to set the following based on
> the locking schemes? Does everyone just use the defaults, which are
> zeros?

In the old days, when we only had APL, yes, MAX_ROWS_PER_PAGE was a
great way of reducing content for locks. But there were many other
things that one would implement first, before addressing that. While
DPL/DRL reduces (it does not eliminate) the locking issue, it
introduces a horrendous new level of fragmentation, and you lose Range
Queries, etc. Invariably they cause more locks. So the high
performance or 24x7 shops still rely of APL.

Consistent with my last answer, you *either* have a Relational
database with Relational keys, which is most suited for APL, data
distribution, etc, and thus leave space for interspersed INSERTS, via
FILLFACTOR and RESERVEPAGEGAP. As to the values, it depends on how
much space you can afford to reserve, and how often you plan to de-
fragment the CI. I do that once every two years, but that means I
plan the values on a table basis.

*Or else* you have a record filing system implemented in DPL/DRL
tables. These have a Heap, and new INSERTS are added to the end of
the Heap. You can use partitions and then it round-robins the INSERTS
across partitions. Nowhere near the rows that have similar PKs or
whatever you specified in the Placement Index. Sure, the
fragmentation can be slightly mitigated via FILLFACTOR and
RESERVEPAGEGAP, but there is no point in it, since these tables demand
weekly de-fragmentation anyway. Since they do not have PageChains,
the relevance of those parameters is reduced; FreeSpace tracking is
quite different.

One thing that really makes a difference in performance in several
areas, here to eliminate certain types of fragmentation, is to ensure
your rows are fixed length. That means no nullable columns.

No, I never let them default. But then I manage space much more
carefully than most sites, with a view to eliminating (not merely
reducing) fragmentation and space management problems. Eg, I use
Segments to separate contentious tables and to distribute data. In
this game, the maxim is, if you look after the pounds, the pennies
will look after themselves; the law of diminishing returns applies.
So it is a waste of time expending large effort, and regularly, fixing
the lower level space problems. If you handle the higher level space
management, once, the lower level issues are irrelevant or
eliminated. No amount of fiddling at the lower levels is going to
return the precious Asynch Pre Fetch and Large I/O; if you work at the
higher levels, you never lose it in the first place.

Regards
Derek

 >> Stay informed about: Max Rows Per Page, Reserve Page Gap, and Fill Factor 
Back to top
Login to vote
1dg618

External


Since: Nov 05, 2011
Posts: 2



(Msg. 3) Posted: Mon Nov 07, 2011 5:45 pm
Post subject: Re: Max Rows Per Page, Reserve Page Gap, and Fill Factor [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Nov 6, 9:36 pm, Derek Asirvadem wrote:
> On Nov 6, 9:34 am, 1dg618 wrote:
>
> > I have been trying to find information on how to try to figure this
> > out without any luck.
>
> The Sybase manuals are not bad at all for that subject.
>
> Probably best for you to please read the Sybase Fragmentation doc I
> linked in my last answer.  Then ask specific questions.
>
> > What is the best way to figure out how to set the following based on
> > the locking schemes? Does everyone just use the defaults, which are
> > zeros?
>
> In the old days, when we only had APL, yes, MAX_ROWS_PER_PAGE was a
> great way of reducing content for locks.  But there were many other
> things that one would implement first, before addressing that.  While
> DPL/DRL reduces (it does not eliminate) the locking issue, it
> introduces a horrendous new level of fragmentation, and you lose Range
> Queries, etc.  Invariably they cause more locks.  So the high
> performance or 24x7 shops still rely of APL.
>
> Consistent with my last answer, you *either* have a Relational
> database with Relational keys, which is most suited for APL, data
> distribution, etc, and thus leave space for interspersed INSERTS, via
> FILLFACTOR and RESERVEPAGEGAP. As to the values, it depends on how
> much space you can afford to reserve, and how often you plan to de-
> fragment the CI.  I do that once every two years, but that means I
> plan the values on a table basis.
>
> *Or else* you have a record filing system implemented in DPL/DRL
> tables.  These have a Heap, and new INSERTS are added to the end of
> the Heap.  You can use partitions and then it round-robins the INSERTS
> across partitions.  Nowhere near the rows that have similar PKs or
> whatever you specified in the Placement Index.  Sure, the
> fragmentation can be slightly mitigated via FILLFACTOR and
> RESERVEPAGEGAP, but there is no point in it, since these tables demand
> weekly de-fragmentation anyway.  Since they do not have PageChains,
> the relevance of those parameters is reduced; FreeSpace tracking is
> quite different.
>
> One thing that really makes a difference in performance in several
> areas, here to eliminate certain types of fragmentation, is to ensure
> your rows are fixed length.  That means no nullable columns.
>
> No, I never let them default.  But then I manage space much more
> carefully than most sites, with a view to eliminating (not merely
> reducing) fragmentation and space management problems. Eg, I use
> Segments to separate contentious tables and to distribute data.  In
> this game, the maxim is, if you look after the pounds, the pennies
> will look after themselves; the law of diminishing returns applies.
> So it is a waste of time expending large effort, and regularly, fixing
> the lower level space problems.  If you handle the higher level space
> management, once, the lower level issues are irrelevant or
> eliminated.  No amount of fiddling at the lower levels is going to
> return the precious Asynch Pre Fetch and Large I/O; if you work at the
> higher levels, you never lose it in the first place.
>
> Regards
> Derek

Thank you. I have a long way to go.
 >> Stay informed about: Max Rows Per Page, Reserve Page Gap, and Fill Factor 
Back to top
Login to vote
Derek Asirvadem

External


Since: Nov 06, 2011
Posts: 2



(Msg. 4) Posted: Fri Nov 11, 2011 2:52 pm
Post subject: Re: Max Rows Per Page, Reserve Page Gap, and Fill Factor [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Nov 8, 12:45 pm, 1dg618 wrote:

> Thank you. I have a long way to go.

My pleasure.

"A journey of a thousand miles begins with a single step" Lao Tzu. You
are well on your way.

Regards
Derek
 >> Stay informed about: Max Rows Per Page, Reserve Page Gap, and Fill Factor 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
How to get a particular row from dbcc page. - Hi there, How can I view a particular row from dbcc page? Below is the full dbcc page output. I was told that the row on this page is #19 (from nextrno which is 20). Now, how can I select this row #19 from the table? (I already know the table name fro...

Composite DW Problem - starting new page - Dear All, In my composite datawindow, I have 6 datawindows. I am preparing Letter of Credi (LC) in International Format. In the middle ie. 2nd and 4th datawindows, I have content having multiple rows that are of variable nature. When it is shown or..

get all rows that have status < 3 - Hi, We have a bunch of events that take place everyday. At the end of each day we want to find out all the events that have not been completed. This is the structure of the table (eventId, eventName, status) 1 Event1 P 1 Event1 R 1 Event1 C...

Creating fake rows - I'm trying to dynamically create a series of rows. For example, rows with just values 1 through 5. I can think of how this can be done in Oracle: select rownum from employees where rownum <= 5 which will give me: rownum ------- 1 2 3 4 5 Is there...

How to check whether the data rows in a table are actually.. - Hi, I want to check whether the data rows in a table is sorted or not. The system table, sysindexes has a column called "status". This bit has following values. Table 1-10: Status bits in the sysindexes table status column Decimal Hex S...
   Database Forums (Home) -> Sybase All times are: Pacific Time (US & Canada)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]