Steve, NOTEs are stored in RB2 with the rest of the data. VARCHARS are stored in file 
4. There is overhead associated with note fields. There are the three pointers 
(previous, current, next) integers in each and every table. A note field also has a 
padding value, I think it defaults to 10% of the note size, that reduces the need to 
move the record somewhat in addtion to a fixed 4 (?) byte minimum even when the field 
is empty.

If you have some tables with NOTEs in them in your database, and they have a 
sufficient sample of data entered, you should be able to make educated guesses on the 
size of fixed text versus a true note. 
SELECT MAX(SLEN(notefield)) FROM table

Broken pointers in your note table are a definite problem, but at least the rest of 
your data is intact in the fixed length main table.

Hope this helps a bit.


"Fogelson, Steve" <[EMAIL PROTECTED]> wrote:
 
>Albert, Alastair, and Steve,
>
>Great information and suggestions.
>
>Couple more questions?
>
>1) Is a note field stored in .rb2 with the rest of the table or does it go
>in rb4 like varchar?
>
>2) I assume that the note field only uses disk space for the number of
>characters entered unlike a text field where it is allocated whether used or
>not. Is this true?
>
>3) What happens if you have a broken pointer in the NOTE table? How do you
>fix that? With R:Scope? Is this what you were referring to Steve?
>
>Thanks
>
>Steve
>
>-----Original Message-----
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, September 17, 2003 11:21 AM
>To: [EMAIL PROTECTED]
>Subject: [RBASE-L] - RE: Note Fields
>
>
>Fixing broken pointers requires RScope to find the next row of data for the
>table after the point where the broken pointer is found. To do that, RScope
>looks for rows of equal length to the defined length of the table rows.
>RScope cannot do this with note fields because the row length is variable.
>
>There is a note table matching every table that needs note fields. This
>table has the PK from the header and the note field only. If we assume 10
>tables with note fields, after the redesign, there will be 20 tables. 
>
>A further consideration is that a note field is up to 4,092 characters while
>the maximum row length is 4,096 bytes, leaving room for a single integer
>value at 4 bytes. This could mean more than one note field per table, or
>more than one note table per master table. In this case, one should
>carefully consider using varchar fields, which are stored in file 4. In this
>case the row length of the master table is fixed. It also allows more than
>4,092 characters to be stored.
>
>Hope this thins the mud out a bit.
>
> 
>"Fogelson, Steve" <[EMAIL PROTECTED]> wrote:
>
>>A while back I had asked about Text vs. Note fields.
>>
>>A few responses indicated that they keep all "note"s in a separate table.
>>Evidently problems with broken pointers.
>>
>>I assume you design your DBs with a table for ALL notes. And all the other
>>tables contain Note_ID fields where appropriate, that point to that note in
>>the note table. Then use a view to read a row including the note.
>>
>>Are these assumptions correct?
>>
>>Could someone elaborate on this design and problems with broken pointers.
>>How is this design strategy easier to fix broken pointers?
>>
>>Thanks
>>
>>Steve Fogelson
>>Internet Commerce Solutions
>>
>>
>
>
>-- 
>Albert Berry
>Full Time Consultant to
>PSD Solutions
>350 West Hubbard, Suite 210
>Chicago, IL 60610
>312-828-9253 Ext. 32
>
>
>__________________________________________________________________
>McAfee VirusScan Online from the Netscape Network.
>Comprehensive protection for your entire computer. Get your free trial
>today!
>http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397
>
>Get AOL Instant Messenger 5.1 free of charge. �Download Now!
>http://aim.aol.com/aimnew/Aim/register.adp?promo=380455
>
>


-- 
Albert Berry
Full Time Consultant to
PSD Solutions
350 West Hubbard, Suite 210
Chicago, IL 60610
312-828-9253 Ext. 32


__________________________________________________________________
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397

Get AOL Instant Messenger 5.1 free of charge.  Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455

Reply via email to