Refactor database performance diagnostics: Update SQL queries in diagnose-db-performance.js to use 'relname' instead of 'tablename' for improved accuracy in table and index size calculations. This change enhances the clarity and correctness of performance diagnostics.
This commit is contained in:
@@ -173,10 +173,10 @@ async function checkTableSizes() {
|
||||
|
||||
const [tableSizes] = await sequelize.query(`
|
||||
SELECT
|
||||
schemaname || '.' || tablename as full_table_name,
|
||||
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,
|
||||
schemaname || '.' || relname as full_table_name,
|
||||
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,
|
||||
n_live_tup as row_count,
|
||||
n_dead_tup as dead_rows,
|
||||
CASE
|
||||
@@ -189,7 +189,7 @@ async function checkTableSizes() {
|
||||
last_autoanalyze
|
||||
FROM pg_stat_user_tables
|
||||
WHERE schemaname IN ('falukant_data', 'falukant_type', 'community', 'logs')
|
||||
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC
|
||||
ORDER BY pg_total_relation_size(schemaname||'.'||relname) DESC
|
||||
LIMIT 20;
|
||||
`);
|
||||
|
||||
@@ -222,7 +222,7 @@ async function checkIndexes() {
|
||||
// Fehlende Indizes (basierend auf pg_stat_user_tables)
|
||||
const [missingIndexes] = await sequelize.query(`
|
||||
SELECT
|
||||
schemaname || '.' || tablename as table_name,
|
||||
schemaname || '.' || relname as table_name,
|
||||
seq_scan,
|
||||
seq_tup_read,
|
||||
idx_scan,
|
||||
@@ -247,7 +247,7 @@ async function checkIndexes() {
|
||||
const [unusedIndexes] = await sequelize.query(`
|
||||
SELECT
|
||||
schemaname || '.' || indexrelname as index_name,
|
||||
schemaname || '.' || tablename as table_name,
|
||||
schemaname || '.' || relname as table_name,
|
||||
pg_size_pretty(pg_relation_size(indexrelid)) as index_size,
|
||||
idx_scan as scans
|
||||
FROM pg_stat_user_indexes
|
||||
@@ -270,7 +270,7 @@ async function checkIndexes() {
|
||||
const [indexBloat] = await sequelize.query(`
|
||||
SELECT
|
||||
schemaname || '.' || indexrelname as index_name,
|
||||
schemaname || '.' || tablename as table_name,
|
||||
schemaname || '.' || relname as table_name,
|
||||
pg_size_pretty(pg_relation_size(indexrelid)) as index_size,
|
||||
idx_scan as scans,
|
||||
idx_tup_read as tuples_read,
|
||||
@@ -296,7 +296,7 @@ async function checkVacuumStatus() {
|
||||
|
||||
const [vacuumStats] = await sequelize.query(`
|
||||
SELECT
|
||||
schemaname || '.' || tablename as table_name,
|
||||
schemaname || '.' || relname as table_name,
|
||||
last_vacuum,
|
||||
last_autovacuum,
|
||||
last_analyze,
|
||||
|
||||
Reference in New Issue
Block a user