swh:1:snp:5115096b921df712aeb2a08114fede57fb3331fb
Revision 2014cdf2d0792236ae22b94cf862c6ca537e2903 authored by Aaron Gao on 05 May 2017, 22:01:04 UTC, committed by Aaron Gao on 10 May 2017, 21:06:33 UTC
Summary:
Now if we have iterate_upper_bound set, we continue read until get a key >= upper_bound. For a lot of cases that neighboring data blocks have a user key gap between them, our index key will be a user key in the middle to get a shorter size. For example, if we have blocks:
[a b c d][f g h]
Then the index key for the first block will be 'e'.
then if upper bound is any key between 'd' and 'e', for example, d1, d2, ..., d99999999999, we don't have to read the second block and also know that we have done our iteration by reaching the last key that smaller the upper bound already.

This diff can reduce RA in most cases.
Closes https://github.com/facebook/rocksdb/pull/2239

Differential Revision: D4990693

Pulled By: lightmark

fbshipit-source-id: ab30ea2e3c6edf3fddd5efed3c34fcf7739827ff
1 parent 459e00b
History
Tip revision: 19076c95aa2bcee55c26fcf0960cc844ad86ee9c authored by Levi Tamasi on 21 January 2021, 22:18:25 UTC
Update HISTORY.md for PR 7888 (#7890)
Tip revision: 19076c9
File Mode Size
arcanist_util
buckifier
build_tools
cache
cmake
coverage
db
docs
env
examples
hdfs
include
java
memtable
monitoring
options
port
table
third-party
tools
util
utilities
.clang-format -rw-r--r-- 138 bytes
.deprecated_arcconfig -rw-r--r-- 566 bytes
.gitignore -rw-r--r-- 708 bytes
.travis.yml -rw-r--r-- 2.3 KB
AUTHORS -rw-r--r-- 247 bytes
CMakeLists.txt -rw-r--r-- 26.5 KB
CONTRIBUTING.md -rw-r--r-- 733 bytes
DEFAULT_OPTIONS_HISTORY.md -rw-r--r-- 1.4 KB
DUMP_FORMAT.md -rw-r--r-- 763 bytes
HISTORY.md -rw-r--r-- 42.6 KB
INSTALL.md -rw-r--r-- 4.7 KB
LANGUAGE-BINDINGS.md -rw-r--r-- 712 bytes
LICENSE -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 53.2 KB
PATENTS -rw-r--r-- 1.9 KB
README.md -rw-r--r-- 1.4 KB
ROCKSDB_LITE.md -rw-r--r-- 1.0 KB
TARGETS -rw-r--r-- 18.1 KB
USERS.md -rw-r--r-- 4.9 KB
Vagrantfile -rw-r--r-- 877 bytes
WINDOWS_PORT.md -rw-r--r-- 12.5 KB
appveyor.yml -rw-r--r-- 416 bytes
src.mk -rw-r--r-- 24.1 KB
thirdparty.inc -rw-r--r-- 7.8 KB

README.md

back to top