Razzak, Wow. This is an excellent and clear explanation of when and why one would change QUALCOLS.
It would be an excellent addition to the docs, much better than the existing information. Dennis McGrath -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of A. Razzak Memon Sent: Wednesday, November 04, 2009 12:37 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Qualcols 2 vs 10, what do you give up bychanging from 2 to 10? At 05:24 PM 11/3/2009, Michael J. Sinclair wrote: >Beware....at the end of each day I run my software with set >multi off to "close the day"....and the QualCols 2 made it >EXTREMELY slow. Now I have to change the QualCols setting >to 2 in multi user mode and 10 in single user mode. > >Any idea why that might be? FYI, the QUALCOLS setting is used to turn page locking OFF and use row locking instead and the ROWLOCKS setting is no longer used to turn row locking ON or OFF. If you know that your application mainly updates or deletes data a row at a time, rather than many rows, SET QUALCOLS 2 for row locking. Use 10 for page locking or row locking as appropriate. Use 2 for row locking only. No page locking. In this case, R:BASE locks a row, reads the row, makes the change, and then releases the row. Technically, the efficient and fastest method for updating data in multi-user environment is to SET STATICDB ON, SET FASTLOCK ON, and SET QUALCOLS 2. This particular combination will result in the fewest contentions between users. Keep in mind that the QUALCOLS setting can be changed dynamically and can be different for different users using the same database. So, in most cases the SET QUALCOLS 2 is a good combination. However, use SET QUALCOLS 10 for page locking when you are doing an UPDATE and/or DELETE affecting many rows in a table. That should give you a good idea why that might be, and when to use QUALCOLS 2 vs QUALCOLS 10. And, that's how you Run R:BASE Your Way! Very Best R:egards, Razzak.

