DROP INDEX¶
DROP INDEX语句用于销毁图或临时图中的索引。
可选择以下任意方法来指定图或临时图:
- 在本语句前添加 USE 子句来设定工作图。
- 提前使用 SESSION SET 设置当前会话的图或临时图。
若两种方法均使用,则以 USE 子句中的指定为准。若均未使用,则报错。
使用说明¶
当执行DROP INDEX语句销毁索引时,索引数据不会立即从 Storage 服务中被物理删除,即不会立即释放磁盘空间。而是在后续的 RocksDB Compaction(数据压缩)操作中被永久删除。
您可以提交 COMPACT 任务来强制删除物理数据。索引数据是否立即被删除,取决于数据在 RocksDB 的 LSM-tree 层次结构中所在的层级。
Note
对非默认 Schema 或其中的对象执行操作时,用户既要通过隐式访问规则或显式USAGE授权获得该 Schema 的访问权,也要具备目标操作所需的权限。Schema 访问校验和目标操作所需的权限校验相互独立,满足其中一项不能替代另一项。Schema 访问控制不适用于临时图、内置 Procedure 和内置 Function。更多信息,请参见 Schema 访问控制。
前提条件¶
- 已创建索引。更多信息,请参见索引概述。
- 若要销毁图上的索引,必须是图的所有者,或具备在该图上执行
INDEX操作的权限,或具备在当前 Schema 执行DROP ANY INDEX操作的权限。更多信息,请参见角色与权限。 - 若要销毁临时图上的索引,必须是具备角色
ADMIN的用户或临时图的所有者。
语法¶
- drop_index_statement
drop_index_statement ::=
'DROP' 'INDEX' ('IF EXISTS')? index_name
参数¶
IF EXISTS¶
该子句会检查待销毁的索引是否存在。若不存在,则不会销毁索引,也不会抛出异常。
若未指定该子句,且待销毁的索引不存在,则会抛出异常。
index_name¶
待销毁的索引的名称。
示例¶
销毁图上点类型的普通索引¶
USE movie DROP INDEX IF EXISTS idx_actor_age
上述示例销毁在 CREATE NORMAL INDEX 中创建的索引idx_actor_age。
销毁图上边类型的普通索引¶
USE movie DROP INDEX IF EXISTS idx_watch_rating
上述示例销毁在 CREATE NORMAL INDEX 中创建的索引idx_watch_rating。
销毁临时图上点类型的普通索引¶
USE #movie_temporary_graph DROP INDEX IF EXISTS idx_actor_age_temp
上述示例销毁在 CREATE NORMAL INDEX 中创建的索引idx_actor_age_temp。
销毁临时图上边类型的普通索引¶
USE #movie_temporary_graph DROP INDEX IF EXISTS idx_watch_rating_temp
上述示例销毁在 CREATE NORMAL INDEX 中创建的索引idx_watch_rating_temp。
销毁图上点类型的向量索引¶
USE ann_test_graph DROP INDEX IF EXISTS idx_node_vec1
上述示例销毁在 CREATE VECTOR INDEX 中创建的向量索引idx_node_vec1。
销毁图上边类型的向量索引¶
USE ann_test_graph DROP INDEX IF EXISTS idx_edge_vec2
上述示例销毁在 CREATE VECTOR INDEX 中创建的向量索引idx_edge_vec2。
销毁图上点类型的空间索引¶
USE my_graph DROP INDEX IF EXISTS idx_gnode_g
上述示例销毁在 CREATE SPATIAL INDEX 中创建的空间索引idx_gnode_g。
销毁图上边类型的空间索引¶
USE my_graph DROP INDEX IF EXISTS idx_gedge_g
上述示例销毁在 CREATE SPATIAL INDEX 中创建的空间索引idx_gedge_g。
销毁图上点类型的全文索引¶
USE movie DROP INDEX IF EXISTS ft_movie
上述示例销毁在 CREATE FULLTEXT INDEX 中创建的全文索引ft_movie。