数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。

索引优点:

创建索引可以大大提高系统的性能。

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:

第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

转载于:https://www.cnblogs.com/lmh001/p/9852293.html

数据库索引的实现原理?相关推荐

  1. 数据库索引的工作原理及其种类

    数据库索引的工作原理及其种类 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询.更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 在数据之外,数据库系统还维护着满足特定查找算 ...

  2. 什么是m叉树_不懂数据库索引的底层原理?那是因为你心里没点b树

    点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 作者:苏苏喂 cnblogs.com/sujing/p/11110292.html 题外话 ...

  3. oracle树子类遍历父类_不懂数据库索引的底层原理?那是因为你心里没点b树

    前几天下班回到家后正在处理一个白天没解决的bug,厕所突然传来对象的声音: 对象:xx,你有<时间简史>吗? 我:我去!妹子,你这啥癖好啊,我有时间也不会去捡屎啊! 对象:...人家说的是 ...

  4. 不懂数据库索引的底层原理?那是因为你心里没点b树

    点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 作者:苏苏喂 cnblogs.com/sujing/p/11110292.html 题外话 ...

  5. 数据库索引的实现原理及查询优化

    MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构. 使用索引的目的在于提高查询效率,这篇文章梳理一下索引的实现原理和应用. 不同的存储引擎索引实现的数据结构不同 ...

  6. 数据库索引实现底层原理2

    强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1 说白了,索引问题就是一个查找问题... 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快 ...

  7. 数据库索引的实现原理

    强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1 说白了,索引问题就是一个查找问题... 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快 ...

  8. 数据库索引的实现原理以及优缺点

    数据库索引,在数据库管理系统中是一个排序形式的数据结构,以协助快速查询和更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 那么为什么要用B+树来实现索引而不使用二叉搜索树或者平衡树或者红黑树 ...

  9. 大于小于优化_以MySQL为例,详解数据库索引原理及深度优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

最新文章

  1. 摘自一个读者读后rework的感受
  2. XHTML+CSS3(Chapter 1)
  3. dojo 官方翻译 dojo/_base/array 版本1.10
  4. elastic-job 的简单使用
  5. Windows 环境下 git 客户端中的 git-bash 和 MINGW64
  6. string.Format 指定字符串宽度
  7. springboot使用JSR303对数据进行校验
  8. 蒸汽朋克简单图形免扣PNG素材,让设计艺术变得简单
  9. python 干什么工作具有明显优势-Python在数据分析方面有什么独特优势
  10. 批处理添加桌面快捷方式
  11. Redis常用命令总结,java开发流程面试
  12. 一种可信万兆加密分流认证装置研究
  13. 生活小妙招:办公室如何查看自己电脑已连接的无线网密码,记得收藏
  14. shell脚本中shift的用法
  15. 自动机器学习-H2O.ai
  16. 手机wps怎么设置打印横竖_WPS表格打印预览在哪如何设置横向和纵向打印方式
  17. 如何把阿拉伯数字转换为中文大写?
  18. 分机计算机怎么设置共享打印机,win7打印机共享设置分机怎么设置
  19. 在github上下载的.md文件怎么打开
  20. 如何可以快速创作思维导图?好用的mac思维导图软件推荐

热门文章

  1. Cookie/Session机制详解--如何区分不同用户
  2. css input[type=file] 样式美化,input上传按钮美化
  3. Python爬虫小实践:爬取任意CSDN博客所有文章的文字内容(或可改写为保存其他的元素),间接增加博客访问量...
  4. 阿里的STORM——JSTORM
  5. Python内置函数(63)——super
  6. LINUX下忘记MySQL的ROOT密码后修改,以及添加访问IP。
  7. oracle not available
  8. JVM 配置常用参数
  9. OpenCV的函数的开头部分CV_Assert的意思
  10. log4j的配置参数