Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Der Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
Datei-Explorer
8 Dateien
SKILL.md wird angezeigt
SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
database-patterns
version
2.0.0
description
Database design, optimization, and caching strategies for SQL, NoSQL, and Redis
sasmp_version
1.3.0
bonded_agent
03-database-performance
bond_type
PRIMARY_BOND
atomic_design
{"single_responsibility":"Database optimization and caching patterns","boundaries":{"includes":["sql_optimization","nosql_patterns","redis_caching","connection_pooling","indexing"],"excludes":["api_design","business_logic","infrastructure"]}}
Optimize database operations with proven patterns for SQL, NoSQL, and caching.
SQL Optimization
Indexing Strategy
-- B-tree index (default, equality + range)CREATE INDEX idx_users_email ON users(email);
-- Composite index (order matters!)CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);
-- Partial index (filter common queries)CREATE INDEX idx_active_users ON users(email) WHERE status ='active';
-- Covering index (avoid table lookup)CREATE INDEX idx_orders_covering ON orders(user_id) INCLUDE (total, status);
N+1 Query Prevention
// BAD: N+1 queriesconst users = await db.query('SELECT * FROM users');
for (const user of users) {
user.orders = await db.query(
'SELECT * FROM orders WHERE user_id = ?',
[user.id]
);
}
// GOOD: Single query with JOINconst usersWithOrders = await db.query(`
SELECT u.*, json_agg(o.*) as orders
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id
`);
// GOOD: DataLoader patternconst orderLoader = newDataLoader(async (userIds) => {
orders = db.(
,
[userIds]
);
userIds.( orders.( o. === id));
});
const
await
query
'SELECT * FROM orders WHERE user_id = ANY($1)'
return
map
id =>
filter
o =>
user_id
Connection Pooling
import { Pool } from'pg';
const pool = newPool({
host: process.env.DB_HOST,
database: process.env.DB_NAME,
max: 20, // Max connectionsmin: 5, // Min connectionsidleTimeoutMillis: 30000, // Close idle after 30sconnectionTimeoutMillis: 5000,
acquireTimeoutMillis: 10000,
});
// Monitor pool health
pool.on('error', (err, client) => {
console.error('Unexpected pool error', err);
});
// Query with automatic releaseasyncfunctionquery(sql, params) {
const client = await pool.connect();
try {
returnawait client.query(sql, params);
} finally {
client.release();
}
}