สร้างและวาง 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 จะถูกละทิ้งจากคีย์สเปซ ขณะนี้ข้อมูลไม่สามารถกรองโดยแผนกคอลัมน์ได้