Skip to content

Commit cb9be30

Browse files
committed
perf: add composite indexes on event table for NFT query optimization
- idx_event_addr_t0_t3: (address, topic0, topic3, block_number DESC, log_index DESC) — covers NFT detail page transfer lookups with sort - idx_event_t0_t1: (topic0, topic1) — speeds up contract discovery and ownership reconstruction (from-address branch) - idx_event_t0_t2: (topic0, topic2) — same for to-address branch - Add indexes to rsk-explorer-database.sql base creation script - Add testnet staging NFT holder addresses to index script Made-with: Cursor
1 parent 4f93182 commit cb9be30

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

prisma/rsk-explorer-database.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,9 @@ CREATE INDEX idx_event_transaction_hash_log_index ON event(transaction_hash, log
483483
CREATE INDEX idx_event_address_event_event_id ON event(address, event, event_id DESC);
484484
CREATE INDEX idx_event_event ON event(event);
485485
CREATE INDEX idx_event_lowercase_event ON event(lower((event)::text));
486+
CREATE INDEX idx_event_addr_t0_t3 ON event(address, topic0, topic3, block_number DESC, log_index DESC);
487+
CREATE INDEX idx_event_t0_t1 ON event(topic0, topic1);
488+
CREATE INDEX idx_event_t0_t2 ON event(topic0, topic2);
486489

487490
CREATE TABLE address_in_event (
488491
event_id VARCHAR,

prisma/schema.prisma

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@ model event {
191191
@@index([transactionHash, logIndex], map: "idx_event_transaction_hash_log_index")
192192
@@index([address, event, eventId(sort: Desc)], map: "idx_event_address_event_event_id")
193193
@@index([event], map: "idx_event_event")
194+
@@index([address, topic0, topic3, blockNumber(sort: Desc), logIndex(sort: Desc)], map: "idx_event_addr_t0_t3")
195+
@@index([topic0, topic1], map: "idx_event_t0_t1")
196+
@@index([topic0, topic2], map: "idx_event_t0_t2")
194197
}
195198

196199
model internal_transaction {

0 commit comments

Comments
 (0)