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.
Why would the record size change when you apply a filter?
David Singleton - MVP Dynamics NAV
Dynamics NAV Consultant since 1991
Available for Navision system performance design and tuning.Dynamics Book
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.?
I don't think so applying filter will change size of the table.
Don't forget to the post(s) that solved your problem
Karthik.D:Please let me know my understanding is correct or not.?
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?
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 102 - 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
- One have to fully understand the question in order to give the right answer. So always try to be as precise as possible when asking for help!
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?
Palle Arentoft:Then you would have a recordsize of 62 bytes
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.
© 1995-2013 Dynamics User Group, all rights reserved.