database-optimizer
تحسين أداء قاعدة البيانات
يمكن للاستعلامات البطيئة وأداء قاعدة البيانات الضعيف أن يشلّ استجابة التطبيق. توفر هذه المهارة إرشادات خبيرة حول تحسين الاستعلامات، واستراتيجيات الفهرسة، والهندسة المعمارية القابلة للتوسع لتحسين أداء قاعدة البيانات بشكل كبير.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "database-optimizer". Optimize this slow query: SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id WHERE c.status = 'active' AND o.created_at > '2024-01-01'
النتيجة المتوقعة:
Analysis:
1. **Problem**: SELECT * retrieves unnecessary columns; no index on created_at; status filter may not be selective
Recommendations:
- Add covering index: CREATE INDEX idx_orders_customer_date ON orders(customer_id, created_at) INCLUDE (status, total)
- Replace SELECT * with specific columns
- Consider partitioning by date if tables are large
- Add index on customers.status if frequently filtered
استخدام "database-optimizer". How do I implement caching for a frequently-accessed database query?
النتيجة المتوقعة:
Multi-tier caching approach:
1. **L1 (Application)**: In-memory cache (e.g., Go map, Python functools.lru_cache) for hot data
2. **L2 (Distributed)**: Redis with TTL-based expiration
3. **Cache Strategy**: Use cache-aside pattern - check cache first, load from DB on miss, store in cache
4. **Invalidation**: Set appropriate TTL (e.g., 5-15 minutes) or use event-driven invalidation
5. **Key Design**: Use composite keys like 'user:123:orders' for specific cache entries
التدقيق الأمني
آمنPrompt-only skill with no executable code. Static analysis scanned 0 files (0 lines) and detected no suspicious patterns. This is a pure instructional prompt providing database optimization guidance. No scripts, network calls, filesystem access, environment access, or external commands are present. No prompt injection attempts detected.
درجة الجودة
ماذا يمكنك بناءه
مطور التطبيق يستكشف الاستعلامات البطيئة
يلاحظ المطور أن تطبيقه يعاني من بطء في تحميل الصفحات بسبب استعلامات قاعدة البيانات. توفر المهارة تحليلاً خطوة بخطوة لأنماط الاستعلام وتوصيات التحسين.
مسؤول قاعدة البيانات يصمم استراتيجية فهرسة
يحتاج مسؤول قاعدة البيانات إلى تصميم استراتيجية فهرسة لتطبيق تجارة إلكترونية عالي الحركة. توفر المهارة إرشادات شاملة حول أنواع الفهارس وترتيب الأعمدة.
مهندس معماري يخطط لتوسيع قاعدة البيانات
مهندس برمجيات يخطط لتوسيع تطبيق أحادي لمعالجة الحمل المتزايد. توفر المهارة إرشادات حول استراتيجيات التقسيم والتجزئة والتخزين المؤقت.
جرّب هذه الموجهات
Help me optimize this slow SQL query: [PASTE YOUR QUERY]. Analyze the query structure and suggest improvements for better performance.
Design an indexing strategy for our [DATABASE TYPE] database that handles [DESCRIBE YOUR WORKLOAD - e.g., high read, frequent updates]. Our main query patterns include [LIST QUERY PATTERNS].
We are experiencing N+1 query problems in our [ORM NAME] application when loading [DESCRIBE ENTITIES]. The current code does [DESCRIBE CURRENT PATTERN]. How can we optimize this?
Our database is experiencing [DESCRIBE PROBLEM - e.g., high write volume, slow queries under load]. Current setup: [DESCRIBE CURRENT ARCHITECTURE]. What scaling and optimization strategies would you recommend?
أفضل الممارسات
- قم بالقياس دائماً قبل التحسين - استخدم EXPLAIN ANALYZE لفهم أداء الاستعلام الفعلي بدلاً من التخمين
- صمم الفهارس بناءً على أنماط الاستعلام الفعلية، وليس المعرفة النظرية - قم بتحليل أكثر استعلامات تطبيقك تكراراً
- نفذ مراقبة شاملة مع سجلات الاستعلامات البطيئة وخطوط أساس للأداء لاكتشاف التراجعات مبكراً
تجنب
- فهرسة كل عمود 'احتياطياً' - هذا يزيد من عبء الكتابة والتخزين دون فائدة متناسبة
- تجاهل استعلامات N+1 في ORMs - استخدم دائماً التحميل المتشبع، أو استعلامات الدُفعات، أو أنماط DataLoader
- تطبيق نصائح التحسين العامة دون تحليل أنماط حمل العمل المحدد وتوزيع البيانات الخاص بك