Skip to content

Commit b7a8546

Browse files
committed
Add indexes to tables improve performance
Signed-off-by: AkramBitar <akram@il.ibm.com>
1 parent 432c4b9 commit b7a8546

4 files changed

Lines changed: 14 additions & 4 deletions

File tree

token/services/storage/db/sql/common/endorser.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ func (db *EndorserStore) GetSchema() string {
6969
status_message TEXT NOT NULL,
7070
stored_at TIMESTAMP NOT NULL
7171
);
72-
`, db.table)
72+
CREATE INDEX IF NOT EXISTS idx_status_storedat_%s ON %s ( status, stored_at );
73+
`, db.table, db.table, db.table)
7374
}
7475

7576
// CreateSchema creates the database schema for the endorser store

token/services/storage/db/sql/common/tokenlock.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,12 @@ func (db *TokenLockStore) GetSchema() string {
9595
created_at TIMESTAMP NOT NULL,
9696
PRIMARY KEY(tx_id, idx),
9797
FOREIGN KEY (tx_id, idx) REFERENCES %s
98-
);`,
98+
);
99+
CREATE INDEX IF NOT EXISTS idx_consumer_tx_id_%s ON %s ( consumer_tx_id );`,
99100
db.Table.TokenLocks,
100101
db.Table.Tokens,
102+
db.Table.TokenLocks,
103+
db.Table.TokenLocks,
101104
)
102105
}
103106

token/services/storage/db/sql/common/tokens.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1339,6 +1339,7 @@ func (db *TokenStore) GetSchema() string {
13391339
);
13401340
CREATE INDEX IF NOT EXISTS idx_status_%s ON %s ( status );
13411341
CREATE INDEX IF NOT EXISTS idx_recovery_claim_%s ON %s ( status, recovery_claim_expires_at, stored_at ) WHERE status = 1;
1342+
CREATE INDEX IF NOT EXISTS idx_recovery_expiry_%s ON %s ( recovery_claim_expires_at ) WHERE recovery_claim_expires_at IS NOT NULL;
13421343
13431344
-- Tokens
13441345
CREATE TABLE IF NOT EXISTS %s (
@@ -1367,8 +1368,10 @@ func (db *TokenStore) GetSchema() string {
13671368
PRIMARY KEY (tx_id, idx)
13681369
);
13691370
CREATE INDEX IF NOT EXISTS idx_spent_%s ON %s ( is_deleted, owner );
1371+
CREATE INDEX IF NOT EXISTS idx_ski_cleanup_%s ON %s ( is_deleted, spent_at );
13701372
CREATE INDEX IF NOT EXISTS idx_owner_wallet_id_%s ON %s ( owner_wallet_id );
13711373
CREATE INDEX IF NOT EXISTS idx_owner_wallet_part_%s ON %s ( owner_wallet_id, token_type ) WHERE is_deleted = false AND owner = true;
1374+
CREATE INDEX IF NOT EXISTS idx_issued_%s ON %s ( redeemed, token_type ) WHERE issuer = true;
13721375
13731376
-- Ownership
13741377
CREATE TABLE IF NOT EXISTS %s (
@@ -1408,11 +1411,13 @@ func (db *TokenStore) GetSchema() string {
14081411
);
14091412
CREATE INDEX IF NOT EXISTS idx_cleaned_at_%s ON %s ( cleaned_at );
14101413
`,
1411-
db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests,
1414+
db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests,
14121415
db.table.Tokens,
14131416
db.table.Tokens, db.table.Tokens,
14141417
db.table.Tokens, db.table.Tokens,
14151418
db.table.Tokens, db.table.Tokens,
1419+
db.table.Tokens, db.table.Tokens,
1420+
db.table.Tokens, db.table.Tokens,
14161421
db.table.Ownership, db.table.Tokens,
14171422
db.table.PublicParams, db.table.PublicParams, db.table.PublicParams,
14181423
db.table.Certifications, db.table.Tokens,

token/services/storage/db/sql/common/transactions.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ func (db *TransactionStore) GetSchema() string {
448448
);
449449
CREATE INDEX IF NOT EXISTS idx_status_%s ON %s ( status );
450450
CREATE INDEX IF NOT EXISTS idx_recovery_claim_%s ON %s ( status, recovery_claim_expires_at, stored_at ) WHERE status = 1;
451+
CREATE INDEX IF NOT EXISTS idx_recovery_expiry_%s ON %s ( recovery_claim_expires_at ) WHERE recovery_claim_expires_at IS NOT NULL;
451452
452453
-- transactions
453454
CREATE TABLE IF NOT EXISTS %s (
@@ -487,7 +488,7 @@ func (db *TransactionStore) GetSchema() string {
487488
);
488489
CREATE INDEX IF NOT EXISTS idx_tx_id_%s ON %s ( tx_id );
489490
`,
490-
db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests,
491+
db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests, db.table.Requests,
491492
db.table.Transactions, db.table.Requests, db.table.Transactions, db.table.Transactions, db.table.Transactions, db.table.Transactions, db.table.Transactions, db.table.Transactions, db.table.Transactions, db.table.Transactions,
492493
db.table.Movements, db.table.Requests, db.table.Movements, db.table.Movements, db.table.Movements, db.table.Movements,
493494
db.table.TransactionEndorseAck, db.table.TransactionEndorseAck, db.table.TransactionEndorseAck,

0 commit comments

Comments
 (0)