From 35939da11781eae4cfb6bb3c8496bbaf57503fe3 Mon Sep 17 00:00:00 2001 From: Nattharat Wiriyakulnan Date: Thu, 20 May 2021 22:54:42 +0700 Subject: [PATCH] Emitter: optimize oracle response time query --- flusher/flusher/db.py | 1 + flusher/flusher/init.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flusher/flusher/db.py b/flusher/flusher/db.py index 3e8d3a3ad..8656c97a6 100644 --- a/flusher/flusher/db.py +++ b/flusher/flusher/db.py @@ -184,6 +184,7 @@ def Column(*args, **kwargs): Column("resolve_time", sa.Integer, nullable=True), Column("result", CustomBase64, nullable=True), sa.Index("ix_requests_oracle_script_id", "oracle_script_id", "id"), + sa.Index("ix_oracle_script_id_resolve_status_request_time", "oracle_script_id", "resolve_status", "request_time"), ) raw_requests = sa.Table( diff --git a/flusher/flusher/init.py b/flusher/flusher/init.py index 504fe2b42..19760730a 100644 --- a/flusher/flusher/init.py +++ b/flusher/flusher/init.py @@ -128,7 +128,7 @@ def init(chain_id, topic, replay_topic, db): FROM oracle_scripts join requests ON oracle_scripts.id = requests.oracle_script_id - WHERE TO_TIMESTAMP(requests.request_time) >= Now() - '1 day' :: interval + WHERE requests.request_time >= CAST(EXTRACT(epoch FROM NOW()) AS INT) - 86400 GROUP BY oracle_scripts.id, requests.resolve_status; """ @@ -144,7 +144,7 @@ def init(chain_id, topic, replay_topic, db): FROM oracle_scripts join requests ON oracle_scripts.id = requests.oracle_script_id - WHERE TO_TIMESTAMP(requests.request_time) >= Now() - '1 week' :: interval + WHERE requests.request_time >= CAST(EXTRACT(epoch FROM NOW()) AS INT) - 604800 GROUP BY oracle_scripts.id, requests.resolve_status; """ @@ -160,7 +160,7 @@ def init(chain_id, topic, replay_topic, db): FROM oracle_scripts join requests ON oracle_scripts.id = requests.oracle_script_id - WHERE TO_TIMESTAMP(requests.request_time) >= Now() - '1 month' :: interval + WHERE requests.request_time >= CAST(EXTRACT(epoch FROM NOW()) AS INT) - 2592000 GROUP BY oracle_scripts.id, requests.resolve_status; """ @@ -221,4 +221,3 @@ def init(chain_id, topic, replay_topic, db): COMMIT; """ ) -