Skip to main content
CodingArchitectureadvanced

Relational & NoSQL Database Schema & Indexing Audit

Audit database tables, composite indexes, foreign keys, partition strategies, and N+1 query vulnerability points.

Compatibility & Specs

Compatible AI Models
ClaudeChatGPTGemini
Last UpdatedOct 3, 2026
Customizable Variables3 parameters

How to Use This Prompt

Follow this 3-step workflow to extract high-signal responses from any compatible AI model.

01

1. Tailor the Parameters

Use the interactive customizer above to substitute the bracketed placeholders with your exact context, requirements, and constraints.

02

2. Send to AI Model

Copy the prompt and paste it into Claude, ChatGPT, Gemini, or Copilot. These models follow structured multi-step constraints reliably.

03

3. Review and Iterate

Review the output against the verified benchmark below. Follow up in the conversation to stress-test edge cases or refine tone.

Prompt Variables & Parameters

Reference breakdown of every dynamic variable embedded in this prompt template.

PlaceholderParameter NameTypeStatusDescription & Guidance
[database_engine]Database EnginetextRequiredPostgreSQL, MySQL, MongoDB, DynamoDB, etc.Default: PostgreSQL 16 with read replicas on AWS RDS.
[schema_definition]Proposed Schema (DDL)textareaRequiredThe SQL tables, columns, constraints, and relationshipsDefault: CREATE TABLE audit_logs ( id SERIAL PRIMARY KEY, tenant_id UUID NOT NULL, actor_id UUID NOT NULL, action VARCHAR(50) NOT NULL, resource_type VARCHAR(50) NOT NULL, resource_id VARCHAR(100), payload JSONB, created_at TIMESTAMP DEFAULT NOW() );
[access_patterns]Query Access Patterns & VolumetextareaRequiredThe most frequent SELECT/INSERT queries and row volumeDefault: Heavy write load: 800 inserts/sec. Query pattern 1: Customer dashboard fetches the latest 50 logs for a specific tenant ordered by created_at DESC. Query pattern 2: Security compliance team filters logs for a tenant by action and date range.

Example Execution & Benchmark Output

Sample input arguments and the verified AI response demonstrating expected quality and formatting.

Sample VariablesInputs
[database_engine]
PostgreSQL 16 with read replicas on AWS RDS.
[schema_definition]
CREATE TABLE audit_logs ( id SERIAL PRIMARY KEY, tenant_id UUID NOT NULL, actor_id UUID NOT NULL, action VARCHAR(50) NOT NULL, resource_type VARCHAR(50) NOT NULL, resource_id VARCHAR(100), payload JSONB, created_at TIMESTAMP DEFAULT NOW() );
[access_patterns]
Heavy write load: 800 inserts/sec. Query pattern 1: Customer dashboard fetches the latest 50 logs for a specific tenant ordered by created_at DESC. Query pattern 2: Security compliance team filters logs for a tenant by action and date range.
Expected AI ResponseVerified Result
### Database Schema & Indexing Audit #### 1. Critical Schema Flaws - **`SERIAL` Integer Overflow Hazard:** At 800 writes/sec (~69 million rows/day), a 32-bit `SERIAL` primary key will exhaust its 2.1 billion maximum integer limit in **31 days**, causing catastrophic write downtime. Change immediately to `BIGSERIAL` or `BIGINT GENERATED ALWAYS AS IDENTITY`. - **Missing Timezone Awareness:** `TIMESTAMP` does not preserve timezone offsets. Always use `TIMESTAMPTZ` in production. #### 2. Composite Index Specification - To satisfy Query 1 (Tenant logs by date): ```sql CREATE INDEX idx_audit_logs_tenant_created ON audit_logs (tenant_id, created_at DESC); ``` *Rule:* `tenant_id` (equality) comes FIRST, `created_at` (range/sort) comes SECOND. This allows an index backward/forward scan without sorting in memory. - To satisfy Query 2 (Tenant + Action filter): ```sql CREATE INDEX idx_audit_logs_tenant_action_created ON audit_logs (tenant_id, action, created_at DESC); ``` #### 3. Monthly Partitioning Strategy Because audit logs are append-only and rarely updated, partition the table by month on `created_at`: ```sql CREATE TABLE audit_logs (...) PARTITION BY RANGE (created_at); ``` This allows automated retention pruning (dropping old partitions instantly via `DROP TABLE` without heavy VACUUM locks).

Best Use Cases

Scenarios and roles where this prompt produces maximum leverage.

Backend developers finalizing database migrations before deploying to production
Engineers troubleshooting slow SQL queries and full table scans on growing tables
Architects transitioning fast-growing tables to partitioned multi-tenant structures

Tips for Best Results

Techniques to elevate response fidelity

  • •Provide rich background context rather than one-sentence inputs to receive deep, non-generic responses.
  • •Engage in multi-turn conversation: use the initial output as a baseline, then ask the AI to sharpen specific sections.
  • •Prompt the model to highlight any hidden assumptions or missing trade-offs in its recommendations.

Common Mistakes to Avoid

Frequent failure modes and anti-patterns

  • •Giving minimal context and expecting nuanced, expert-level strategic output.
  • •Not validating factual references, citations, or statistical claims with verified primary sources.
  • •Skipping the customization step and pasting raw bracketed template variables into the AI chat.

Related AI Prompts

Complementary workflows in Coding

View all Coding prompts
Codingadvanced

Production Incident Post-Mortem & Root-Cause Synthesizer

Convert messy incident Slack logs and alerts into a blameless, rigorous post-mortem with corrective action items.

claudechatgptgemini
#post-mortem#root-cause-analysis#sre
Codingadvanced

Monolith to Modular Decoupling & Boundary Architect

Carve clear bounded contexts out of entangled monoliths using the Strangler Fig pattern and event-driven seams.

claudechatgptgemini
#software-architecture#refactoring#monolith-to-microservices
Codingadvanced

Architectural Decision Record (ADR) Analysis & Trade-Off Matrix

Evaluate competing technical architectures, state assumptions, and document a formal Architectural Decision Record.

claudechatgptgemini
#system-architecture#adr#trade-offs

Related Engineering Guides

Deep-dive playbooks and system prompt methodologies for Coding

View all guides