There�s a slight problem with your thinking here. You can�t save an unenumerated symbol list. Even when in memory, a list of symbols is actually enumerated. As you add symbols, these are added to an internal symbol list and stored as a pointer to the entry in this list. (You can see the number of entries in this list and the memory occupied by this list as the last two entries in the return dictionary of .Q.w).
This means that regardless of the length of a sym, the sym will be stored once, and on repeated use it will occupy the memory for the pointer, not the actual sym (i.e. 5 syms of length 3 will not take up 15 bytes)
When saving a database to disk, symbols must be enumerated also.
The other option (for unenumerated storage) would be to save as strings � this will result in saving two files, one a list of pointers (so number of elements * length of pointer), the other containing the actual data (which will increase as string size increases).
Assuming the vector is repetitive, it is a good candidate for being of type sym, and this is how it should be stored. However, you should note that compression is not the purpose of enumeration. It can be a by-product in some cases, but it�s not designed for that. However, kdb does have built in compression support � see here for more details:http://code.kx.com/wiki/Cookbook/FileCompression
Hope that helps
Tel: +44 (0)28 3025 2242
Tel: +1 (212) 447 6700
Tel: +61 (0)2 9236 5700