SQLite - Indexes(索引)

SQLite - Indexes(索引) 首页 / SQLite入门教程 / SQLite - Indexes(索引)

索引有助于加快SELECT查询和WHERE子句的查询速度,但它影响UPDATE和INSERT语句的执行速度。

CREATE INDEX 命令

以下是 CREATE INDEX 的基本语法。

CREATE INDEX index_name ON table_name;

单列索引

单列索引是仅基于一个表列创建的索引。基本语法如下-

CREATE INDEX index_name
ON table_name (column_name);

唯一索引

唯一索引不仅用于提高性能,而且还用于数据完整性,唯一索引不允许将任何重复的值插入表中,基本语法如下-

CREATE UNIQUE INDEX index_name
on table_name (column_name);

复合索引

复合索引是表的两个或多个列上的索引,基本语法如下-

CREATE INDEX index_name
on table_name (column1, column2);

如果仅使用一列,则应选择单列索引。如果在WHERE子句中经常使用两个或多个列作为过滤器,则复合索引将是最佳选择。

无涯教程网

隐式索引

隐式索引是在创建对象时由数据库服务器自动创建的索引。

链接:https://www.learnfk.comhttps://www.learnfk.com/sqlite/sqlite-indexes.html

来源:LearnFk无涯教程网

以下是一个示例,其中无涯教程将在COMPANY表中为薪水列创建索引-

sqlite> CREATE INDEX salary_index ON COMPANY (salary);

现在,让无涯教程使用 .indices 命令列出COMPANY表中所有可用的索引,如下所示-

sqlite> .indices COMPANY

这将产生以下输出,其中 sqlite_autoindex_COMPANY_1 是隐式索引,该隐式索引是在创建表本身时创建的。

salary_index
sqlite_autoindex_COMPANY_1

您可以列出所有索引数据库范围,如下所示:

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

DROP INDEX命令

可以使用SQLite DROP 命令删除索引,以下是基本语法如下-

DROP INDEX index_name;

您可以使用以下语句删除以前创建的索引。

sqlite> DROP INDEX salary_index;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品手记 -〔邱岳〕

程序员的数学基础课 -〔黄申〕

TypeScript开发实战 -〔梁宵〕

Serverless入门课 -〔蒲松洋(秦粤)〕

Redis核心技术与实战 -〔蒋德钧〕

手把手教你玩音乐 -〔邓柯〕

说透区块链 -〔自游〕

Kubernetes入门实战课 -〔罗剑锋〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)