استعلامات قاعدة البيانات البطيئة ت frustrate المستخدمين وتزيد من تكاليف البنية التحتية. توفر هذه المهارة أنماطًا منهجية لتحليل خطط الاستعلام، وتصميم فهارس فعالة، وتحويل SQL البطيء إلى عمليات عالية الأداء.
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“sql-optimization-patterns”。 استعلام مع عمليات المسح المتسلسل على جدول بـ 10 مليون صف
预期结果:
التحليل: يوضح EXPLAIN مسحًا متسلسلًا لأنه لا يوجد فهرس على العمود 'created_at' المستخدم في جملة WHERE. التوصية: CREATE INDEX idx_orders_created ON orders(created_at DESC). التحسين المتوقع: يجب أن ينخفض وقت الاستعلام من 2.3 ثانية إلى أقل من 50 مللي ثانية لنطاقات التاريخ الحديثة.
正在使用“sql-optimization-patterns”。 نمط N+1 يحمّل طلبات المستخدم بشكل فردي
预期结果:
المشكلة: تم تنفيذ 101 استعلام (1 للمستخدمين + 100 للطلبات). الحل: استبدل باستعلام JOIN واحد أو استخدم التحميل الدفعي باستخدام WHERE user_id in (...). النهج المعاد هيكلته يقلل من رحلات قاعدة البيانات بنسبة 99٪ ووقت التنفيذ الإجمالي من 5.2 ثانية إلى 120 مللي ثانية.
安全审计
安全Static analysis flagged 103 potential issues that are all false positives. The 'external_commands' findings are markdown code fence backticks in documentation, not shell execution. The 'weak cryptographic algorithm' findings reference SQL examples, not actual crypto code. The 'filesystem' finding is a PostgreSQL COPY command syntax example in documentation. This skill contains only markdown documentation with SQL optimization patterns and examples - no executable code or security risks.
质量评分
你能构建什么
تحسين منصة التجارة الإلكترونية
يعاني فريق التطوير من بطء استعلامات البحث عن المنتجات وسجل الطلبات خلال أوقات الذروة. تساعد المهارة في تحليل سجلات الاستعلام البطيئة، وتحديد الفهارس المفقودة في الأعمدة المفلترة بشكل متكرر، وإعادة هيكلة أنماط N+1 في تحميل الطلبات لتقليل أوقات استجابة API من ثوانٍ إلى ملي ثانية.
أداء لوحة التحليلات
يحتاج مهندس البيانات إلى تسريع استعلامات التجميع للوحات المعلومات في الوقت الفعلي التي تعرض مقاييس المبيعات. توجه المهارة تنفيذ طرق العرض المادية للحسابات المكلفة، والفهارس الشاملة للمسح المستند إلى الفهرس فقط، وأنماط GROUP BY فعالة لتحقيق معدلات تحديث لوحة المعلومات أقل من ثانية.
تحديث التطبيقات القديمة
يرث مطور أول تطبيقًا مع عشرات الاستعلامات البطيئة التي تسبب أخطاء انتهاء المهلة. توفر المهنة منهجًا منهجيًا: التقاط الاستعلامات البطيئة باستخدام pg_stat_statements، وتحليل خطط التنفيذ، وإعطاء الأولوية لتحسينات التأثير العالي، وتنفيذ الفهرسة الصحيحة للقضاء على 90٪ من مشاكل الأداء دون إعادة كتابة التطبيق.
试试这些提示
لدي استعلام SQL بطيء يستغرق أكثر من 5 ثوانٍ للتشغيل. إليك الاستعلام وهيكل الجدول: [الصق الاستعلام والمخطط]. هل يمكنك تحليل ما قد يسبب البطء واقتراح فهارس محددة لإنشائها؟
قمت بتشغيل EXPLAIN ANALYZE على استعلامي وحصلت على هذا المخرج: [الصق مخرج EXPLAIN]. يرجى شرح ما تعنيه كل عملية، وتحديد اختناقات ا��أداء، والتوصية بتحسينات محددة.
لدي جدول بأعمدة [قائمة الأ��مدة] وأكثر استعلاماتي شيوعًا هي: [قائمة الاستعلامات]. ما استراتيجية الفهرسة التي يجب أن أستخدمها؟ ضع في اعتبارك الفهارس المركبة والفهارس الجزئية والفهارس الشاملة حيث كان مناسبًا.
ينفذ تطبيقي مئات الاستعلامات المماثلة في حلقة: [وصف النمط أو إظهار الكود]. هذا يسبب مشاكل في الأداء. ساعدني في إعادة هيكلة هذا باستخدام JOINs أو التحميل الدفعي أو تقنيات أخرى لتقليل عدد رحلات قاعدة البيانات.
最佳实践
- استخدم دائمًا EXPLAIN ANALYZE لفهم تنفيذ الاستعلام الفعلي قبل التحسين
- أنشئ فهارس على الأعمدة المستخدمة في جمل WHERE و JOIN و ORDER BY - ولكن تجنب الإفراط في الفهرسة لأن كل فهرس يبطئ عمليات الكتابة
- اجلب فقط الأعمدة المطلوبة بدلاً من SELECT *، وقم بتصفية البيانات في أسرع وقت ممكن في الاستعلام
避免
- استخدام الدو��ل على الأعمدة المفهرسة في جمل WHERE دون فهارس وظيفية مقابلة
- الترحيل بقيم OFFSET كبيرة على الجداول الكبيرة بدلاً من النهج المستندة إلى المؤشر
- تنفيذ الاستعلامات في حلقات التطبيق (نمط N+1) بدلاً من التحميل الدفعي أو JOINs