在SQLite3中,可以使用CREATE INDEX
语句创建索引。以下是创建索引的基本语法:
CREATE [UNIQUE] INDEX index_name ON table_name (column1, column2, ...);
其中:
UNIQUE
关键字是可选的,用于指定索引是否唯一。如果指定了UNIQUE
,那么在表中插入重复数据时,SQLite将引发错误。index_name
是索引的名称,可以根据需要自定义。table_name
是要在其上创建索引的表的名称。column1, column2, ...
是要包含在索引中的列的名称。可以指定一个或多个列来创建复合索引。
以下是一些创建索引的示例:
- 在
employees
表的last_name
列上创建一个非唯一索引:
CREATE INDEX idx_lastname ON employees (last_name);
- 在
orders
表的order_date
和customer_id
列上创建一个唯一索引:
CREATE UNIQUE INDEX idx_order_date_customer_id ON orders (order_date, customer_id);
- 在
products
表的category
和price
列上创建一个复合索引:
CREATE INDEX idx_category_price ON products (category, price);
创建索引后,可以使用SELECT
语句中的WHERE
子句来加速查询操作。但是,请注意,索引会占用额外的存储空间,并且在插入、更新或删除数据时可能会降低性能。因此,在创建索引之前,请确保仔细考虑其需求和影响。