数据库在执行一条sql语句时,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。

加入索引使扫描整个表变成了扫描索引表,而我们的索引列表是B+ Tree的数据结构,查询的时间复杂度为O(log2/V),定位到特定值的行就会非常快,所以其查询速度就会非常快。

通常情况下,我们建立的索引有三种:
1、唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。
例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。

2、主键索引
数据库表经常有一列或列组合,其值唯标识表中的每一行。该列称为表的主键。

在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

3、聚簇索引
在聚簇索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚簇索引。
如果某个索引不是聚簇索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚簇索引相比,聚簇索引通常提供更快的数据访问速度。

数据库建立索引为什么会加快查询速度相关推荐

  1. 建立索引为什么能加快查询速度 【转】

    建立索引为什么能加快查询速度 这是因为,创建索引可以大大提高系统的性能.第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因. ...

  2. mysql text 查询速度_数据库学习之让索引加快查询速度(四)

    数据库学习之让索引加快查询速度 目录 索引简介 mysql的索引分类 创建索引 添加与删除索引 索引简介 索引在MySQL中也叫做"键",是存储引擎用于快速找到记录的一种数据结构. ...

  3. 数据库建立索引怎么利用索引查询

    数据库建立索引怎么利用索引查询? 精选 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构. 索引的使用要恰 ...

  4. SQL 强制指定索引加快查询速度

    转自:http://blog.csdn.net/qq380107165/article/details/45502641 今天遇到一个查询问题,多加了一个查询参数导致查询超时报黄,经过公司DBA改进, ...

  5. 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段

    数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...

  6. 使用索引为什么能提高查询速度?

    作者:big_foot cnblogs.com/Berryxiong/p/6249427.html 关于资源视频下载的说明 常用设计模式完整系列篇 [强化编程功底]算法文摘 为什么能够提高查询速度? ...

  7. 数据库建立索引常用的规则

    数据库建立索引常用的规则如下: 查看全文 http://www.taodudu.cc/news/show-3587136.html 相关文章: hive中如何建立索引 oracle数据库分区表建立索引 ...

  8. 为什么索引会加快查询速度?索引原理和使用原则

    索引是什么? 索引图解 定义:数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询. 更新数据库表中数据. 首先数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址. ...

  9. mysql建立索引 有什么缺陷_MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引...

    建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能. 第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二.可以大大加快 数据的检索速度,这也是创建索 ...

最新文章

  1. Android开发系列之ListView
  2. 如何让控件span的id调用ajax_微服务架构之「 调用链监控 」
  3. 解题代码 用jquery控制一个按钮当一次点击完之后5 秒后才能继续点击 验证码的制作...
  4. 写毕业论文的最容易踩的几个坑
  5. Android短视频中如何实现720P磨皮美颜录制
  6. DLL引用之SQLite在Win32、64下的兼容
  7. 前端学习(2015)vue之电商管理系统电商系统之实现图片的预览效果
  8. HTTP中302与301的区别以及在ASP.NET中如何实现
  9. clickhouse 同步mysql_ClickHouse和他的朋友们(11)MySQL实时复制之GTID模式
  10. listen函数的第二个参数_signal(SIGPIPE,?SIG_IGN)listen函数中backlog参数分析
  11. 【Spring】Spring常用配置-Bean的初始化和销毁(生命周期)
  12. 路径中,连续多个目录分隔符不影响,仍按照一个处理
  13. QT、C++面试中的几个问题
  14. js使用高德地图api实现定位,行政区域划分,点击事件,只显示某个省市或区,海量点标记
  15. Secure CRT 配色方案
  16. javaScript一元四次、三次方程求根算法
  17. Intel 处理器发展年历
  18. 初识Cura3D打印开源项目
  19. android 上网流程 ppp,Android/Linux ppp拨号流程
  20. 关于video标签的视频格式在各个浏览器中的兼容问题

热门文章

  1. OpenCV2马拉松第4圈——图片混合
  2. 心中有“树”!图文并茂介绍数据结构中常见的树(二)
  3. Ares Protocol 品牌全线升级,覆盖全栈产品
  4. 计算机的专业技能,计算机软件专业个人技能范文
  5. 基因型与表型的交互作用如何分析,多元回归来搞定
  6. 让数据发声 IBM在电商时代下的智慧营销
  7. [还魂篇] 初来乍到如何致人于死地
  8. db2 创建样本数据库_DB2创建数据库示例
  9. BLDC控制实验:方波、霍尔、开环、定速、正转
  10. RuoYi-Cloud-Plus 数据权限