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?
David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision system performance design and tuning.Dynamics Book
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.?
I don't think so applying filter will change size of the table.
-Amol
http://dynamicsuser.net/blogs/amol
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?
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 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
www.NAVspecialist.dk
Best Regards
- 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!
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?
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.