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)
);
-- 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;

View File

@ -1,7 +1,8 @@
-- +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,
header_id INTEGER NOT NULL REFERENCES headers (id) ON DELETE CASCADE,
hash VARCHAR(66),
gas_limit NUMERIC,
gas_price NUMERIC,
@ -15,5 +16,14 @@ CREATE TABLE header_sync_transactions (
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;

View File

@ -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;

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);
--
-- 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: -
--
@ -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);
--
-- 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: -
--