1. In a computing environment, a method performed at least in part on at least one processor, comprising: processing a subspace-divided hash index of which at least one subspace index comprises a subset of the hash index and corresponds to a different level of granularity for use in indexing data than another subspace index; selecting a level of granularity to use in indexing one or more chunks of a file based upon at least one of a file type, a file usage pattern, or a user type; for each of at least one chunk hash at the selected granularity level, using a subspace index having the selected level of granularity to determine whether that chunk hash is already indexed or is a non-indexed chunk hash; selecting another level of granularity to use in indexing one or more other chunks of the file based upon resource utilization and deduplication saving; and for each of at least one chunk hash at the other selected granularity level, using a subspace index having the other selected level of granularity to determine whether that chunk hash is already indexed or is a non-indexed chunk hash.