إنشاء وإسقاط INDEX في Cassandra
Cassandra إنشاء فهرس
يقوم الأمر "إنشاء فهرس" بإنشاء فهرس في العمود المحدد من قبل المستخدم. إذا كانت البيانات موجودة بالفعل للعمود الذي تريد فهرسته، Cassandra يقوم بإنشاء فهارس على البيانات أثناء تنفيذ عبارة "إنشاء فهرس".
- بعد إنشاء الفهرس، Cassandra يقوم بفهرسة البيانات الجديدة تلقائيًا عند إدراج البيانات.
- لا يمكن إنشاء الفهرس على المفتاح الأساسي حيث أن المفتاح الأساسي مفهرس بالفعل.
- الفهارس الموجودة على المجموعات غير مدعومة في Cassandra.
- بدون فهرسة على العمود ، Cassandra لا يمكن تصفية هذا العمود إلا إذا كان مفتاحًا أساسيًا.
لهذا السبب، لتصفية الأعمدة Cassandra، يجب إنشاء الفهارس.
بناء الجملة
Create index IndexName on KeyspaceName.TableName(ColumnName);
مثال
فيما يلي اللقطة التي تمت فيها محاولة تصفية عمود "القسم" دون إنشاء الفهرس. ردا على ذلك، تم إرجاع الخطأ.
هذه هي اللقطة حيث يتم إنشاء الفهرس في عمود القسم.
Create index DeptIndex on University.Student(dept);
فيما يلي اللقطة التي سيتم فيها تصفية عمود "القسم" بنجاح.
select * from University.Student where dept='CS';
Cassandra إسقاط الفهرس
الأمر "إسقاط الفهرس" يسقط الفهرس المحدد. إذا لم يتم تقديم اسم الفهرس أثناء إنشاء الفهرس، فسيكون اسم الفهرس هو TableName_ColumnName_idx.
- إذا لم يكن الفهرس موجودًا، فسيُرجع خطأ ما لم يتم استخدام IF EXISTS فسيُرجع no-op.
- أثناء إنشاء الفهرس، يجب عليك تحديد اسم مساحة المفتاح مع اسم الفهرس وإلا سيتم إسقاط الفهرس من مساحة المفتاح الحالية.
بناء الجملة
Drop index IF EXISTS KeyspaceName.IndexName
مثال
فيما يلي لقطة للأمر الذي تم تنفيذه "Drop Index" والذي يؤدي إلى إسقاط الفهرس DeptIndex.
drop index IF EXISTS University.DeptIndex;
بعد تنفيذ الأمر بنجاح، سيتم إسقاط DeptIndex من مساحة المفاتيح. الآن لا يمكن تصفية البيانات حسب قسم العمود.




