تعديل الفهرس ALTER INDEX
< SQL
يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر CREATE INDEX، وله الصيغ الآتية:
ALTER INDEX [ IF EXISTS ] name RENAME TO new_name
لتغيير اسم الفهرس المسمى name (إن وُجد) ليصبح باسم new_name.
ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )
لتعديل أيّ من قيم معاملات التخزين المتعلقة بالفهرس (إن وُجد).
ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] )
لإعادة ضبط كافة قيم معاملات التخزين لهذا الفهرس (إن وُجد) إلى القيم الافتراضية. أما في محرك SQL فيجب تحديد الكائن object الذي سيُعدّل فهرسه لتصبح البنية العامة بالشكل:
ALTER INDEX index_name ON <object>
{
DISABLE
| SET ( <set_index_option> [ ,...n ] )
| PAUSE
} ;
إذ إن الكلمة المفتاحية DISABLE تستخدم لتعطيل الفهرس، و SET لضبط قيم خياراته، أما PAUSE فلإيقافه بشكل مؤقّت.
مثال
لضبط قيمة التخزين fillfactor للفهرس distributers لتصبح 75 يُستخدَم الأمر:
ALTER INDEX distributors SET (fillfactor = 75);
التوافقية
| SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
|---|---|---|---|---|
| نعم | لا | نعم | نعم | لا |
في محرك MySQL يُمكن تعديل تسمية الفهرس من خلال الأمر ALTER TABLE، أما في محرك SQLite فيمكن حذف الفهرس الحالي وإنشاء فهرس جديد بالاسم الجديد.