SQLite 索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLite 索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1708字,纯文字阅读大概需要3分钟。
内容图文
![SQLite 索引](/upload/InfoBanner/zyjiaocheng/1335/185320b0256c4d65b75837bf5416c0e1.jpg)
SQLite 索引(Index)
冷月醉雪 2018-02-06 09:52:08 1913 收藏
分类专栏: 数据库 SQLite 文章标签: SQLite index
版权
索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。
索引有助于加快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 UNIQUE INDEX index_name on table_name (column_name);
组合索引
组合索引是基于一个表的两个或多个列上创建的索引。基本语法如下:
CREATE INDEX index_name on table_name (column1, column2);
是否要创建一个单列索引还是组合索引,要考虑到您在作为查询过滤条件的 WHERE 子句中使用非常频繁的列。
如果值使用到一个列,则选择使用单列索引。如果在作为过滤的 WHERE 子句中有两个或多个列经常使用,则选择使用组合索引。
隐式索引
隐式索引是在创建对象时,由数据库服务器自动创建的索引。索引自动创建为主键约束和唯一约束。
实例
下面是一个例子,我们将在COMPANY表的salary列上创建一个索引:
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;
避免使用索引的情况:
索引不应该使用在较小的表上;
索引不应该使用在有频繁的大批量的更新或插入操作的表上。
索引不应该使用在含有大量的NULL值的列上;
索引不应该使用在频繁操作的列上。
原文链接:https://blog.csdn.net/lengyuezuixue/article/details/79263370
添加实例
CREATE INDEX Time_index on RunLog1 (Time);
SELECT * FROM RunLog1 INDEXED BY Time_index WHERE Time BETWEEN ‘2021-02-24 00:00:00‘ AND ‘2021-02-24 23:59:59‘ ORDER BY Time DESC
原文:https://www.cnblogs.com/sgh69/p/15212238.html
内容总结
以上是互联网集市为您收集整理的SQLite 索引全部内容,希望文章能够帮你解决SQLite 索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。