数据库索引

作者: 风中小酌 | 来源:发表于2020-03-14 22:16 被阅读0次

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

什么时候不需要创建索引:
表很小
不经常在查询中被使用的列
更新太频繁地字段不适合创建索引
不会出现在where条件中的字段不该建立索引

创建索引

索引分为唯一性索引非唯一性索引
唯一性索引在创建主键约束和唯一性约束时,自动创建。
非唯一性索引包括:单行索引、复合索引、函数式索引

创建单行索引

CREATE INDEX 索引名 ON 表名(字段名)

SQL> create index emp_index on employees(last_name);
Index created
创建复合索引

CREATE INDEX 索引名 ON 表名(字段名1, 字段名2, ...)

SQL> create index dep_id_name_ix on departments(department_id, department_name);
Index created

复合索引的生效机制
查询时,where子句中的顺序应和索引定义时字段顺序一致

索引定义
SQL> create index dep_id_name_ix on departments(department_id, department_name);
索引使用
SQL> select * from departments where department_id=301 and department_name='A';
创建函数索引
创建索引时使用了函数
SQL> create index emp_name_upper_ix on employees(upper(last_name));
Index created
要使索引生效,在查询时where子句中也应使用对应的函数。
SQL> select * from employees where upper(last_name)='TOMMY';
EMPLOYEE_ID FIRST_NAME           LAST_NAME                 EMAIL                     PHONE_NUMBER         HIRE_DATE   JOB_ID         SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID
----------- -------------------- ------------------------- ------------------------- -------------------- ----------- ---------- ---------- -------------- ---------- -------------
       2500                      Tommy                     se@sfe.com                                     2007/11/1 星 IT_PROG     500078.00                           

查询索引

与索引相关的表有 user_indexes,user_ind_columns

删除索引

SQL> drop index EMP_NAME_UPPER_IX;
Index dropped

相关文章

  • 数据库索引记录

    本文用来记录数据库索引相关内容; 1】数据库索引分为单列索引,组合索引,全文索引,空间索引 2】单列索引:只有一个...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • Sql索引优化—转载

    数据库索引使用方式 使用索引是提高数据库查询效率的主要方式,下面从索引结构,索引类型,索引操作,命中索引几个方面来...

  • 数据库 - 索引

    索引 索引 索引的建立对于数据库的高效运行是很重要的。索引可以大大提高数据库的检索速度。 索引分单列索引,组合索引...

  • [Mysql]Mysql索引实现原理及相关优化策略

    数据库索引 数据库索引是什么? A database index is a data structure that...

  • 数据库索引定义和类型

    数据库索引类型及实现方式 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表...

  • 数据库索引结构总结

    [TOC] 参考 数据库索引数据结构总结 本文摘抄自数据库索引数据结构总结 1. 摘要 数据库索引是数据库中最重要...

  • MySQL 索引

    MySQL 索引 数据库索引的原理:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表...

  • 『数据库』索引的工作原理

    数据库索引能够提高数据库的查询效率,那么索引到底是什么。 什么是索引 索引本身这个名字已经能回答这个问题了,索引就...

  • PostgreSQL基础知识--索引

    索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快得多。但索引页增加了整个...

网友评论

    本文标题:数据库索引

    本文链接:https://www.haomeiwen.com/subject/mqkoshtx.html