Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-04-13 14:57:37 -04:00
parent 45dc885cd5
commit 41e8477673
15 changed files with 9844474 additions and 27 deletions
+13 -13
View File
@@ -19,51 +19,51 @@ ORDER BY duration DESC;
-- 2. Show index usage statistics for BaseItems table
SELECT
schemaname,
reltablename,
indexname,
relname,
indexrelname,
idx_scan AS index_scans,
idx_tup_read AS tuples_read,
idx_tup_fetch AS tuples_fetched,
pg_size_pretty(pg_relation_size(indexrelid)) AS index_size,
CASE
CASE
WHEN idx_scan = 0 THEN 'UNUSED'
WHEN idx_scan < 10 THEN 'RARELY USED'
WHEN idx_scan < 100 THEN 'OCCASIONALLY USED'
ELSE 'FREQUENTLY USED'
END AS usage_level
FROM pg_stat_user_indexes
WHERE tablename = 'BaseItems'
WHERE relname = 'BaseItems'
AND schemaname = 'library'
ORDER BY idx_scan DESC, indexname;
ORDER BY idx_scan DESC, indexrelname;
-- 3. Find missing indexes (sequential scans on BaseItems)
SELECT
schemaname,
reltablename,
relname,
seq_scan AS sequential_scans,
seq_tup_read AS rows_read_sequentially,
idx_scan AS index_scans,
n_tup_ins AS rows_inserted,
n_tup_upd AS rows_updated,
n_tup_del AS rows_deleted,
CASE
CASE
WHEN seq_scan > 0 AND idx_scan = 0 THEN 'INDEX NEEDED'
WHEN seq_scan > idx_scan THEN 'MORE INDEXES MAY HELP'
ELSE 'INDEXES WORKING WELL'
END AS recommendation
FROM pg_stat_user_tables
WHERE tablename = 'BaseItems'
WHERE relname = 'BaseItems'
AND schemaname = 'library';
-- 4. Show table and index sizes
SELECT
schemaname,
reltablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS total_size,
pg_size_pretty(pg_relation_size(schemaname||'.'||tablename)) AS table_size,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename) - pg_relation_size(schemaname||'.'||tablename)) AS indexes_size
relname,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname)) AS total_size,
pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) AS table_size,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname) - pg_relation_size(schemaname||'.'||relname)) AS indexes_size
FROM pg_stat_user_tables
WHERE tablename = 'BaseItems'
WHERE relname = 'BaseItems'
AND schemaname = 'library';
-- 5. Show query statistics from pg_stat_statements (if extension is enabled)