INDEX ANALYSIS REPORTix_Cities_Archive

Table:Application.Cities_Archive
Database:WideWorldImporters
Analysis Date:
Classification: UNNECESSARY Deterministic Score: 41/100

Selected Index Decision

Field Value (deterministic)
Native Classification UNNECESSARY
Deterministic Score 41/100
Authoritative Action VALIDATE_ONLY
Drop Safety VALIDATE_BEFORE_DROP
Telemetry Confidence Telemetry gap present

Payload type B (Object Explorer). The index Application.Cities_Archive.ix_Cities_Archive shows zero DMV reads (seeks 0, scans 0, lookups 0) and zero updates since the last counter reset, with a 28-row table and only 1 page. Telemetry is limited: no Query Store context and no drop-impact estimate, so the usage evidence is insufficient for a high-confidence drop decision. Action is limited to statistics review and monitoring under the deterministic VALIDATE_ONLY policy.

The classification is driven by execution_stats.metrics showing no reads (UserSeeks=0, UserScans=0, UserLookups=0) and no writes (UserUpdates=0) since the DMV counter reset, combined with a low row count (28) and a single 0.01 MB page. Query Store also reports no dependent queries in the 30-day window, reinforcing the zero-read pattern. However this is based on available metrics only; the DMV counters may have been reset, and the statement's source is an index-level snapshot, not query runtime evidence.

Maintenance Advisory

Fragmentation is 0.0% on a 1-page index, so fragmentation is monitor-only. Statistics are stale (3772 days, 102 modifications); UPDATE_STATISTICS is allowed. No DROP, DISABLE, or CREATE INDEX action is permitted by action_policy. ALTER INDEX maintenance is not permitted unless maintenance_policy explicitly allows it. UPDATE STATISTICS maintenance is allowed.

Drop Safety

[Executable INDEX DDL suppressed by validation gate: usage_window_baseline_14d_missing.]

Telemetry Quality

Evidence

SignalValueWeightSupportsCaveat
native_classificationUNNECESSARYhighUNNECESSARYDeterministic classification must be explained, not overridden.
classification_reasonNO_READS_SINCE_COUNTER_RESEThighUNNECESSARY
observed_reads_writesreads=0, writes=0, read_write_ratio=0.00mediumworkload_value_assessmentDMV counters can reset after service restart, failover, or database detach/attach.
drop_safety_decisionVALIDATE_BEFORE_DROPhighaction_policyDrop impact estimate is unavailable; controlled validation is required.
telemetry_qualityTelemetry gap presentmediumconfidence_and_caveatsquery_store_context_missing, drop_impact_estimate_unavailable
computed_recommendationsDROP_OR_DISABLE_CANDIDATE, UPDATE_STATISTICS_WITH_FULLSCAN_REVIEW, REVIEW_WRITE_OVERHEADmediumrecommended_followup
flagsLOW_FRAGMENTATION, NARROW_INDEX, NO_NULLABLE_COLUMNS, WRITE_HEAVY, STALE_STATISTICS, ZERO_READSmediumclassification_context
warningsUPDATE_STATISTICS_RECOMMENDEDmediumrisk_context
impact_simulationstatus=UNAVAILABLE, queries_affected=0, risk_level=LOW, confidence=LOWlowdrop_risk_assessmentEvidence-based estimate; not an optimizer what-if rewrite.

Contextual Table Notes

Recommended Next Steps

_Actions passed an independent critic review (2 approved / 0 revised / 0 rejected)._

Next Step #1 (P3, Medium Risk) โ€” Refresh stale index statistics

UPDATE STATISTICS [Application].[Cities_Archive] [ix_Cities_Archive] WITH FULLSCAN;

SELECT name, STATS_DATE(object_id, stats_id) AS last_updated FROM sys.stats WHERE object_id = OBJECT_ID('Application.Cities_Archive') AND name = 'ix_Cities_Archive'

Next Step #2 (P3, Medium Risk) โ€” Monitor 14-day usage before any drop validation

SELECT user_seeks, user_scans, user_lookups, user_updates, last_user_seek, last_user_scan, last_user_update FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID('WideWorldImporters') AND object_id = OBJECT_ID('Application.Cities_Archive') AND index_id = INDEXPROPERTY(OBJECT_ID('Application.Cities_Archive'), 'ix_Cities_Archive', 'IndexID');

Risks and Caveats

Notes / Assumptions

Recommended Action Script(s)

Copy-ready command(s) authorized by the decision contract for this index. Review the caveats above before running in production.

Verification & Validation Scripts (safe to run)

Read-only checks you can run to confirm the decision above before changing anything. Replace the database context as needed and run each query in the target database.


Decision Contract Guardrails

FieldValue
Authoritative ActionVALIDATE_ONLY
Drop SafetyVALIDATE_BEFORE_DROP
Destructive Index DDL AllowedNo
Maintenance AllowedUPDATE_STATISTICS_REVIEW
Update Statistics ScriptAllowed
Rebuild/ReorganizeNot allowed
TelemetryTelemetry gap present
Telemetry Gapsquery_store_context_missing, drop_impact_estimate_unavailable