在 Oracle 数据库里,你能够使用 CREATE INDEX 语句在表上添加索引。下面为你介绍几种常见索引的创建方法。

1. 创建单列索引

若要在单个列上创建索引,可使用如下语句:

CREATE INDEX index_name
ON table_name (column_name);
  • index_name:你要创建的索引的名称。
  • table_name:你想在其上创建索引的表名。
  • column_name:你要创建索引的列名。

2. 创建复合索引

如果你需要在多个列上创建索引,可以使用以下语句:

CREATE INDEX index_name
ON table_name (column1, column2, ...);

在这个语句中,column1, column2, ... 代表你要创建索引的多个列。

3. 创建唯一索引

当你想要确保索引列中的值是唯一的时候,可以创建唯一索引,语句如下:

CREATE UNIQUE INDEX index_name
ON table_name (column_name);

示例

假设你有一个名为 employees 的表,其中包含 employee_idfirst_namelast_namedepartment_id 列。以下是在不同列上创建索引的示例:

单列索引
-- 在 first_name 列上创建索引
CREATE INDEX idx_employees_first_name
ON employees (first_name);
复合索引
-- 在 last_name 和 department_id 列上创建复合索引
CREATE INDEX idx_employees_last_name_department_id
ON employees (last_name, department_id);
唯一索引
-- 在 employee_id 列上创建唯一索引
CREATE UNIQUE INDEX idx_employees_employee_id
ON employees (employee_id);

注意事项

  • 索引能够提升查询性能,不过会增加数据插入、更新和删除操作的开销。所以,你需要依据实际的业务需求来决定是否创建索引。
  • 索引名在数据库中必须是唯一的。
  • 当创建复合索引时,要注意列的顺序,因为这会影响索引的使用效率。通常,将选择性高的列放在前面。