Size of the table record

Hi all,

I want to know the size of a tables record. Is there any possibility in navision to find out the size. I know, that we can find out the size of the table from database information form. But I want to calculate the size after applying filter on the table.

Regards,

Karthik.D

Why would the record size change when you apply a filter?

Dear David,

I am not sure what I am asking is correct or not. Please correct me if I am wrong. Consider I am having 10 records in a table whose size is 200kb and applied filter in that table and I am having only 5 records for which the size should be approximately 100kb. Please let me know my understanding is correct or not.?

Regards,

Karthik.D

I don’t think so applying filter will change size of the table.

Not sure about yours, but understanding is zero now. I really don’t have a clue what you are asking.

Hi, what is the purpose of knowing this information?

Hello there

Setting a filter on a table does not change the Record-size. The Records-ize is a matter of the Sum-of-lengths-of-all-fields in a records. For example

1 - Code - Code 10
2 - Description - Text 50

Then the recordsize would be 10+1 + 50 + 1 (the two x 1 are Carriage Returns) = 62 bytes.

Depending of the version of your Dynamics NAV you will have a recordsize of either 2K or 4K.

Your questions and reason for asking is not clear - could you perhaps explain a litte bit further why you need this information ?

Best Regards

Palle Arentoft,
Dynamics NAV Specialist

www.NAVspecialist.dk

Hello

If you have a table with two fields like

FIeld 1 - Code - Code 10

FIeld 2 - Description - Text 50

Then you would have a recordsize of 62 bytes (10 + 50 + 2x1 Carriage Returns).

This size if fixed and does not change regardless of 10 records or a million, nor does it change when you add a filter !

What makes you assume that the recordsize changes?

Close but it’s 64 actually. [;)]

Ohh is it CRLF ???

Code is Length + 1 byte for length info + 1 byte for alignment then rounded up to the nearest long word. So 10 + 1 + 1 = 12 = 3 long words

Text is Length + 1 byte for length info the round to nearest long word so 50 + 1 = 51 nearest long word = 52.

Boolean is worst, needing 4 bytes to store 1 bit.

Most people forget the long word rounding.

Also I wonder if the alignment byte is still needed since we don’t have native anymore. Maybe that is used to store the VarChar/Integer info in SQL.

By the way this is also why Text and code are limited to 250 in length.