Volume properties

Discussion related to "Everything" 1.5 Alpha.
Post Reply
NotNull
Posts: 5461
Joined: Wed May 24, 2017 9:22 pm

Volume properties

Post by NotNull »

Some time ago I experimented with the Volume related properties.
Based on the growth of Everything.db, it looks like those are stored 'flat': for each file these properties are stored, per file.

If that is indeed the case, wouldn't it be better to store those Volume properties in a separate table and refer per file to the ID of that entry? Like this:

File table
Name
Path
Size
..
VolumeID


Volume table
ID
Drive type
Cluster size
...


An 8-bits ID would already give 255 volumes. Probably enough for everyone ("640K RAM ought to be enough for anybody" ....)
void
Developer
Posts: 16753
Joined: Fri Oct 16, 2009 11:31 pm

Re: Volume properties

Post by void »

Thanks for the feedback NotNull,

Everything is currently storing the property for each file.

I will look into using a volume table.
Thanks for the suggestion.

I never really intended for these volume properties to be indexed.

An 8-bits ID would already give 255 volumes. Probably enough for everyone ("640K RAM ought to be enough for anybody" ....)
A pointer reference (8 bytes on x64) would be larger than most property values!


One thing I will need to consider is folder indexes / filelists are not necessarily on a single volume.
They may contain folder junctions to other volumes.


There is a "Index volume label" property.
This property is only gathered once for all files/folders on NTFS/ReFS volumes.
It might pay to add more "Index Drive Type" and "Index Cluster Size" etc.. properties for improved performance.
These properties would provide a snapshot of the volume information when the initial index is done.
Post Reply