انتقل إلى محتوى الدرس

Explicit Columns Versus SELECT Star الأعمدة الصريحة مقابل النجمة

تعلّم استعلام البيانات بأمر SELECT والأسماء المستعارة و DISTINCT بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يُرجع الرمز النجمي SELECT * FROM products; جميع أعمدة الجدول دفعةً واحدة. ورغم فائدته في الاستكشاف السريع عبر الطرفية، يجب في تطبيقات الإنتاج تحديد أسماء الأعمدة صراحةً للأسباب الهندسية التالية:

  • توفير الشبكة والذاكرة: تجنب نقل أعمدة النصوص الضخمة TEXT أو JSON غير المطلوبة في الواجهة.
  • دعم الفهارس المغطية (Covering Indexes): يمكّن محرك InnoDB من قراءة الأعمدة المطلوبة مباشرةً من الفهرس دون قراءة صفحات الجدول الكاملة.
  • استقرار واجهات البرمجة: يمنع ظهور أعمدة جديدة أو حساسة تلقائياً في مخرجات التطبيق عند تعديل الجدول مستقبلاً.
SQL
-- Ad-hoc inspection only: returns every column
SELECT * FROM products;

-- Production best practice: project only needed columns
SELECT product_id, title, unit_price FROM products;