الأمر CREATE INDEX ينشئ فهرسًا على عمود لتسريع البحث فيه:
CREATE INDEX idx_users_email ON users (email);
كيف يساعد؟
من دون فهرس، للبحث عن مستخدم ببريده تفحص قاعدة البيانات كل الصفوف واحدًا واحدًا. مع الفهرس تقفز مباشرة إلى المكان الصحيح، كما تستخدم فهرس الكتاب بدل قراءة كل الصفحات.
SELECT * FROM users WHERE email = 'ali@site.com'; -- fast now
متى أضيف فهرسًا؟
للأعمدة التي تبحث بها كثيرًا في WHERE أو تربط بها في JOIN أو ترتّب بها.
ولا تبالغ
كل فهرس يأخذ مساحة، ويبطئ قليلًا عمليات الإضافة والتعديل. ولمنع تكرار القيم نستخدم UNIQUE INDEX.