Add indexes to columns used in plugin joins

- Will probably want to update these depending on what's commonly used
  in join/where statements.
This commit is contained in:
Rob Mulholand
2019-12-02 23:54:52 -06:00
committed by Ian Norden
parent a005e0d04a
commit 6f837f5e88
4 changed files with 74 additions and 16 deletions
+7 -2
View File
@@ -12,9 +12,14 @@ CREATE TABLE public.headers
UNIQUE (block_number, hash, eth_node_fingerprint)
);
-- Index is removed when table is
CREATE INDEX headers_block_number ON public.headers (block_number);
CREATE INDEX headers_block_number
ON public.headers (block_number);
CREATE INDEX headers_block_timestamp
ON public.headers (block_timestamp);
-- +goose Down
DROP INDEX public.headers_block_number;
DROP INDEX public.headers_block_timestamp;
DROP TABLE public.headers;
@@ -1,19 +1,29 @@
-- +goose Up
CREATE TABLE header_sync_transactions (
id SERIAL PRIMARY KEY,
header_id INTEGER NOT NULL REFERENCES headers(id) ON DELETE CASCADE,
hash VARCHAR(66),
gas_limit NUMERIC,
gas_price NUMERIC,
input_data BYTEA,
nonce NUMERIC,
raw BYTEA,
tx_from VARCHAR(44),
tx_index INTEGER,
tx_to VARCHAR(44),
"value" NUMERIC,
UNIQUE (header_id, hash)
CREATE TABLE public.header_sync_transactions
(
id SERIAL PRIMARY KEY,
header_id INTEGER NOT NULL REFERENCES headers (id) ON DELETE CASCADE,
hash VARCHAR(66),
gas_limit NUMERIC,
gas_price NUMERIC,
input_data BYTEA,
nonce NUMERIC,
raw BYTEA,
tx_from VARCHAR(44),
tx_index INTEGER,
tx_to VARCHAR(44),
"value" NUMERIC,
UNIQUE (header_id, hash)
);
CREATE INDEX header_sync_transactions_header
ON public.header_sync_transactions (header_id);
CREATE INDEX header_sync_transactions_tx_index
ON public.header_sync_transactions (tx_index);
-- +goose Down
DROP INDEX public.header_sync_transactions_header;
DROP INDEX public.header_sync_transactions_tx_index;
DROP TABLE header_sync_transactions;
@@ -14,6 +14,14 @@ CREATE TABLE header_sync_receipts
UNIQUE (header_id, transaction_id)
);
CREATE INDEX header_sync_receipts_header
ON public.header_sync_receipts (header_id);
CREATE INDEX header_sync_receipts_transaction
ON public.header_sync_receipts (transaction_id);
-- +goose Down
DROP INDEX public.header_sync_receipts_header;
DROP INDEX public.header_sync_receipts_transaction;
DROP TABLE header_sync_receipts;