[thelist] CF - MAXROWS

Jeff jeff at members.evolt.org
Sat Jul 22 15:57:58 CDT 2000


: From: rudy limeback <r937 at interlog.com>
: multithreaded servers like cf will allocate memory
: for buffers to hold the result sets of all concurrently
: running queries, and they will swap the least recently
: used stuff out to disk

true, and the cf server uses this buffer for other things as well, like
caching the most recently used templates.  you get too many things competing
for that space and you'll end up throwing away too recently used things
giving you no real advantage anymore.  i know musical chairs is fun for us,
but for a server it's just more work.  *grin*

: adjusting the blockfactor allows you to call for as many
: records as you need (e.g. to show on the page) and no
: more... what would be the point

blockfactor has nothing to do with the number displayed though.  it has to
do with how large the block of records it gets from the database server at a
time.  to dictate how many records you need you set the maxrows, but we all
know the database server still returns all the records found and it's the cf
server that actually cuts the records available down to the maxrows value.

: i have no facts to back this up, but i am certain that upping
: buffers by using blockfactor and thereby potentially incurring
: swap penalties is always going to win, hands down, no
: question about it, tko in the first round, over sending repeated
: requests across operating system and often machine
: boundaries to another specialized server like a database
: engine and waiting for it to return something

again, i agree with you if this is on a query by query basis.  however, when
you're running multiple queries, processing multiple templates, etc. i think
it's important to use this tool wisely.  if not, the speed of the query
could be the detriment of your overall performance.

for example, let's suppose you have a query that returns results from some
form of category table.  the total recordcount is less than, oh say, 50.
how much advantage are you going to get when this sort of query is already
1-2ms (or 0ms on an enterprise level database server)?  i'm not sure this
sort of query would gain any advantage with a blockfactor set higher than
the default.

on the other hand, let's suppose you had a query that returned, oh say, 5000
records.  now that would be the one you'd wanna put that blockfactor of like
50 on and then put in startrow and maxrows attributes on your cfoutput to
set up your page to only show 50 at a time.

: what was the default blockfactor value again?  my cf 4.5
: docs simply say it's optional...

the default is 1.

just my 2¢,


mailto:jeff at members.evolt.org

More information about the thelist mailing list