Skip to content

v1.2.0 — Health: unindexed FK & redundant index detection

Choose a tag to compare

@MR-TABATA MR-TABATA released this 05 Jul 04:51
· 24 commits to main since this release

Two new read-only, catalog-fact cards on the Health panel — siblings of the unused-index card and the v1.1.0 foreign-key dependency graph.

Added

  • Unindexed foreign keys — FK columns that aren't the leading key of any index. PostgreSQL doesn't auto-create one, so FK checks, cascade deletes and joins back to the parent do a sequential scan. (MySQL/InnoDB auto-indexes FK columns, so the card shows "not applicable".)
  • Redundant indexes — a non-unique index whose key columns are a leading prefix of (or identical to) another index on the same table + access method. Unique indexes are never reported (they enforce uniqueness); exact-duplicate pairs are listed once.

Neither advises — they only surface the fact. PostgreSQL (pg_index / pg_constraint) and MySQL (information_schema.STATISTICS). Verified live against PostgreSQL 17 and MariaDB 11.8.

Full changelog: https://github.com/MR-TABATA/cli2ui/blob/main/CHANGELOG.md