mysql-5.6 icon indicating copy to clipboard operation
mysql-5.6 copied to clipboard

Determin secondary index value emptiness by datadic

Open rockeet opened this issue 3 months ago • 0 comments

In most cases, secondary index values are empty, thus rocks_iter->value() is not needed in such cases.

We realized an SST with lazy load of value, this is a big improvement for large values.

When value is small(even empty), lazy load is less useful, but the calling chain is still needed, in our optimized rocksdb branch, in iter scan, it is about 70~90ns per kv-pair, in which the iter->value() is about 11ns for empty value.

If secondary index value emptiness can be identified by datadic, the iter->value() can be omitted, this is a reasonable optimization.

rockeet avatar Mar 17 '24 04:03 rockeet