English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الإشارة هي جدول بحثي خاص يمكن استخدامها من قبل محرك البحث في قاعدة البيانات لتحسين استرجاع البيانات. باختصار، anindexهي مؤشرات تشير إلى بيانات الجدول.
على سبيل المثال، إذا كنت تريد مراجعة جميع الصفحات التي تتناول موضوعًا معينًا في كتاب، يجب أن تشير أولاً إلى الفهارس، التي تجمع جميع المواضيع بالترتيب الأبجدي، ثم تشير إلى صفحات محددة.
الإشارة تساعد في زيادة سرعة استعلام SELECT وWHERE clause، ولكنها تخفض سرعة إدخال البيانات من خلال جمل UPDATE وINSERT. يمكن إنشاء أو حذف الإشارة دون التأثير على البيانات.
إن إنشاء الإشارة يتضمن استخدام جملة CREATE INDEX، التي تسمح لك بتمييز الإشارة، وتحديد الجدول وكذلك الأعمدة التي سيتم إنشاء الإشارة عليها، بالإضافة إلى تحديد ما إذا كانت الإشارة ترتب الأعمدة بصورة تصاعدية أم تنازلية.
الإشارة يمكن أن تكون فريدة، مثل قيود UNIQUE، لأن الإشارة يمكن أن تمنع وجود إدخالات مكررة في عمود أو مجموعة من الأعمدة التي تم إنشاء الإشارة عليها.
هذه هي الجملة الأساسيةCREATE INDEX.
CREATE INDEX index_name ON table_name;
المؤشر العمودي هو مؤشر يُنشأ بناءً على عمود واحد فقط في الجدول. الجملة الأساسية هي
CREATE INDEX index_nameON table_name (column_name);
المؤشرات الفريدة تُستخدم ليس فقط لتحسين الأداء، بل أيضًا لضمان كاملية البيانات. لا تسمح المؤشرات الفريدة بتحديد أي قيمة مكررة في الجدول. الجملة الأساسية هي
CREATE UNIQUE INDEX index_nameon table_name (column_name);
المؤشر المركب هو مؤشر على عدة أعمدة في الجدول. الجملة الأساسية هي
CREATE INDEX index_nameon table_name (column1, column2);
بغض النظر عما إذا كنت تقوم بإنشاء مؤشر عمودي أو مؤشر مركب، يجب أن تأخذ في الاعتبار عمود (العمود) الذي قد تستخدمه كشرط مرشح في جملة WHERE في الاستعلامات الخاصة بك.
إذا كنت تستخدم عمودًا واحدًا فقط، فعليك اختيار مؤشر عمودي. إذا كان WHERE مرفق العبارة يستخدم عادةً عمودين أو أكثر كمرشح، فإن المؤشر المركب سيكون الخيار الأفضل.
المؤشرات غير المباشرة يتم إنشاؤها تلقائيًا بواسطة خادم قاعدة البيانات عند إنشاء العنصر. يتم إنشاء مؤشرات تلقائيًا للمستودعات الرئيسية واللوائح الفريدة.
مثال
هذا مثال، سنقوم بإنشاء مؤشر على عمود الراتب في جدول COMPANY-
sqlite> CREATE INDEX salary_index ON COMPANY (salary);
الآن، دعونا نستخدم ما يلي.indicesأمر يعرض جميع المؤشرات المتاحة في جدول COMPANY:
sqlite> .indices COMPANY
سيكون لدينا النتيجة التالية، حيثsqlite_autoindex_COMPANY_1هي مؤشرات غير مباشرة،الخفيةالطريقة المثلى لإنشاء المؤشر هي عند إنشاء جدول نفسه.
salary_indexsqlite_autoindex_COMPANY_1
يمكنك قائمة جميع نطاقات قواعد البيانات المؤشرات، مثلما هو موضح أدناه:
sqlite> SELECT * FROM sqlite_master WHERE type = 'index';
يمكن استخدام SQLite DROPأمر إزالة المؤشر. يجب الحذر عند إزالة المؤشر لأن الأداء قد يتباطأ أو يتحسن.
إليك الجملة الأساسية كما يلي -
DROP INDEX index_name;
يمكنك استخدام الجملة التالية لإزالة المؤشرات التي تم إنشاؤها مسبقاً.
sqlite> DROP INDEX salary_index;
على الرغم من أن المؤشرات مصممة لتحسين أداء قاعدة البيانات، يجب أحياناً تجنب استخدامها. هذه القواعد تشير إلى متى يجب مراجعة استخدام المؤشرات.
لا يمكن استخدام المؤشرات في -
الجداول الصغيرة.
الجداول التي تحتوي على الكثير من عمليات التحديث البatchية أو الإدراج.
الأعمدة التي تحتوي على الكثير من القيم NULL.
الأعمدة التي يتم معاملتها بشكل متكرر.