From 73a669dff373b314b287ec38a7fd54145f7a58a0 Mon Sep 17 00:00:00 2001 From: shaojunda Date: Fri, 18 Dec 2020 13:36:56 +0800 Subject: [PATCH] perf: query used columns only and avoid to use limit --- app/models/lock_script.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/lock_script.rb b/app/models/lock_script.rb index 61a8cb308..3866dd410 100644 --- a/app/models/lock_script.rb +++ b/app/models/lock_script.rb @@ -32,7 +32,7 @@ def lock_info block_interval = (epoch_number * 1800 + since_value_index * 1800 / since_value.length) - (tip_epoch.number * 1800 + tip_epoch.index * 1800 / tip_epoch.length) if block_interval.negative? - block = Block.where(epoch: since_value.number).recent.first + block = Block.where(epoch: since_value.number).order(number: :desc).select(:start_number, :length)[0] new_index = since_value_index < block.length ? since_value_index : since_value_index * block.length / since_value.length block_timestamp = Block.where(number: block.start_number + new_index).pick(:timestamp) estimated_unlock_time = DateTime.strptime(block_timestamp.to_s, "%Q")