SQLite基础学习 互动版

说明:

  SQLite 的索引 是一个指向表中数据的指针(与一本字典中的字母索引类似)。

要点:

  索引有助于加快 SELECT 查询和 WHERE 子句,但它会减慢使用 UPDATE 和 INSERT 语句时的数据输入。索引可以创建或删除,但不会影响数据。
  使用 CREATE INDEX 语句创建索引,它允许命名索引,指定表及要索引的一列或多列,并指示索引是升序排列还是降序排列。
  索引也可以是唯一的,与 UNIQUE 约束类似,在列上或列组合上防止重复条目。


CREATE INDEX 命令语法:

CREATE INDEX index_name ON table_name;

单列索引:

  一个只基于表的某列上创建的索引。

CREATE INDEX index_name
ON table_name (column_name);

组合索引:

  基于一个表的两个或多个列上创建的索引。

CREATE INDEX index_name
on table_name (column1, column2);

隐式索引:

  在创建对象时,由数据库服务器自动创建的索引。索引自动创建为主键约束和唯一约束。

查看索引:

  查看某个表上的索引:

sqlite> .indices table_name

  查看数据库中所有的索引:

sqlite> SELECT * FROM sqlite_master WHERE type = 'index';

删除索引:

DROP INDEX index_name;

注意事项:

  - 索引不应该使用在较小的表上。
  - 索引不应该使用在有频繁的大批量的更新或插入操作的表上。
  - 索引不应该使用在含有大量的 NULL 值的列上。
  - 索引不应该使用在频繁操作的列上。