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-06-19 14:59:21 -05:00 committed by Ian Norden
parent a005e0d04a
commit 6f837f5e88
4 changed files with 74 additions and 16 deletions

View File

@ -12,9 +12,14 @@ CREATE TABLE public.headers
UNIQUE (block_number, hash, eth_node_fingerprint) UNIQUE (block_number, hash, eth_node_fingerprint)
); );
-- Index is removed when table is CREATE INDEX headers_block_number
CREATE INDEX headers_block_number ON public.headers (block_number); ON public.headers (block_number);
CREATE INDEX headers_block_timestamp
ON public.headers (block_timestamp);
-- +goose Down -- +goose Down
DROP INDEX public.headers_block_number;
DROP INDEX public.headers_block_timestamp;
DROP TABLE public.headers; DROP TABLE public.headers;

View File

@ -1,19 +1,29 @@
-- +goose Up -- +goose Up
CREATE TABLE header_sync_transactions ( CREATE TABLE public.header_sync_transactions
id SERIAL PRIMARY KEY, (
header_id INTEGER NOT NULL REFERENCES headers(id) ON DELETE CASCADE, id SERIAL PRIMARY KEY,
hash VARCHAR(66), header_id INTEGER NOT NULL REFERENCES headers (id) ON DELETE CASCADE,
gas_limit NUMERIC, hash VARCHAR(66),
gas_price NUMERIC, gas_limit NUMERIC,
input_data BYTEA, gas_price NUMERIC,
nonce NUMERIC, input_data BYTEA,
raw BYTEA, nonce NUMERIC,
tx_from VARCHAR(44), raw BYTEA,
tx_index INTEGER, tx_from VARCHAR(44),
tx_to VARCHAR(44), tx_index INTEGER,
"value" NUMERIC, tx_to VARCHAR(44),
UNIQUE (header_id, hash) "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 -- +goose Down
DROP INDEX public.header_sync_transactions_header;
DROP INDEX public.header_sync_transactions_tx_index;
DROP TABLE header_sync_transactions; DROP TABLE header_sync_transactions;

View File

@ -14,6 +14,14 @@ CREATE TABLE header_sync_receipts
UNIQUE (header_id, transaction_id) 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 -- +goose Down
DROP INDEX public.header_sync_receipts_header;
DROP INDEX public.header_sync_receipts_transaction;
DROP TABLE header_sync_receipts; DROP TABLE header_sync_receipts;

View File

@ -1308,6 +1308,34 @@ ALTER TABLE ONLY public.watched_logs
CREATE INDEX block_id_index ON public.full_sync_transactions USING btree (block_id); CREATE INDEX block_id_index ON public.full_sync_transactions USING btree (block_id);
--
-- Name: header_sync_receipts_header; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX header_sync_receipts_header ON public.header_sync_receipts USING btree (header_id);
--
-- Name: header_sync_receipts_transaction; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX header_sync_receipts_transaction ON public.header_sync_receipts USING btree (transaction_id);
--
-- Name: header_sync_transactions_header; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX header_sync_transactions_header ON public.header_sync_transactions USING btree (header_id);
--
-- Name: header_sync_transactions_tx_index; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX header_sync_transactions_tx_index ON public.header_sync_transactions USING btree (tx_index);
-- --
-- Name: headers_block_number; Type: INDEX; Schema: public; Owner: - -- Name: headers_block_number; Type: INDEX; Schema: public; Owner: -
-- --
@ -1315,6 +1343,13 @@ CREATE INDEX block_id_index ON public.full_sync_transactions USING btree (block_
CREATE INDEX headers_block_number ON public.headers USING btree (block_number); CREATE INDEX headers_block_number ON public.headers USING btree (block_number);
--
-- Name: headers_block_timestamp; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX headers_block_timestamp ON public.headers USING btree (block_timestamp);
-- --
-- Name: node_id_index; Type: INDEX; Schema: public; Owner: - -- Name: node_id_index; Type: INDEX; Schema: public; Owner: -
-- --