From 1b1b7f283c9db01728586e622e3d0cfc9be436d3 Mon Sep 17 00:00:00 2001 From: cryptocode Date: Fri, 22 Feb 2019 18:31:24 +0100 Subject: [PATCH] Improve block_exists table lookup order (#1765) --- nano/node/lmdb.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nano/node/lmdb.cpp b/nano/node/lmdb.cpp index feb184c9..7fd6e364 100644 --- a/nano/node/lmdb.cpp +++ b/nano/node/lmdb.cpp @@ -1709,13 +1709,14 @@ bool nano::mdb_store::block_exists (nano::transaction const & transaction_a, nan bool nano::mdb_store::block_exists (nano::transaction const & tx_a, nano::block_hash const & hash_a) { + // Table lookups are ordered by match probability // clang-format off return + block_exists (tx_a, nano::block_type::state, hash_a) || block_exists (tx_a, nano::block_type::send, hash_a) || block_exists (tx_a, nano::block_type::receive, hash_a) || block_exists (tx_a, nano::block_type::open, hash_a) || - block_exists (tx_a, nano::block_type::change, hash_a) || - block_exists (tx_a, nano::block_type::state, hash_a); + block_exists (tx_a, nano::block_type::change, hash_a); // clang-format on }