我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库知识扫盲,数据库索引

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库知识扫盲,数据库索引

数据库知识扫盲,数据库索引

存储引擎
早期存储引擎都是把数据库相关数据固化到磁盘的,在并发上每张表都是表锁,
后期的存储引擎(例如innodb,in-memory等)大多都是元数据在磁盘上,索引数据在内存中,在并发上每张表都是行锁


2、磁盘型数据库索引
数据库如一本词典,存储很多数据,但要快速找到你需要查的词,就需要目录,在数据库中这个目录就叫索引,索引存的啥呢,
索引存的是被建索引字段的有序集合,并且每个字段都跟着一个数据的磁盘物理地址,有了索引表,如何查呢,在我们学习数据
结构与算法的时候,就接触到二叉树查找,那个时候就了解到树结构在查询上的优良性能,所以为了提高索引表的查询性能,索引
表数据是被存在树结构上的,SQL是b+树,MongoDB是b树,简单区别就是b+树数据存放在叶子节点,叶子节点上有横向指针,
这也就确定了SQL在范围查询上的优良性能,b树数据存放在各个节点,这就确定MongoDB在精准数据查询上的优良性能。
既然大致了解了索引结构,那索引是如何提升查询性能呢,索引树存在内存上,当你查询被索引数据时,数据库会遍历索引树,
匹配数据,找到数据磁盘物理地址,取出数据,这个过程因索引树参与数据匹配,会大大降低扫描的数据量,由此大大提升查询
性能,从这里我们能看出索引两大特点,有序集合和树结构。既然索引这么好,是不是应该给所有字段建立索引呢,其实非也,
索引会大大提升查询性能,但也会增加数据插入负担,因为每插入一条数据,所有相关索引要更新的,所以索引要查询量大的字段
上面,查询量不大想优化性能的要权衡增加的插入负担。常用的索引类型有三种,有序索引,hash索引,text索引,最常用的是
有序索引,就是上边讲的内容。复合索引是多字段索引,字段索引用途常为查询和排序,如果复合字段都为查询功能,则按照主次
建立索引即可,如果复合字段有查询也有排序,排序字段要放在查询字段前面建立索引。
索引性能调试有俩重要参数,毫秒数跟扫描量,具体参考以毫秒数为主,毫秒数和扫描量正相关,但毫秒数跟索引好坏不一定正相关,
这中间还牵涉到一个参数是数据量。

查询语法
关系型数据库大多遵循SQL语法规范,非关系型数据库语法各异。

存取性能
数据库按照存储位置分内存型数据库,磁盘型数据库。内存型数据库数据存在内存中,查询性能秒杀磁盘数据库。

数据库管理工具
这个因人而异,我个人比较喜欢Navicat,因为Navicat能连接各种数据库,并且交互比较友好,界面为中文。

数据库集群
每种数据库都有配置文件,一个配置文件启动一个数据库实例,集群就是配置多个数据库文件,可以分布在不同服务器上,
启动多个实例,建立主仆关系,主少从多, 集群一般为主写从读。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库知识扫盲,数据库索引

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据库知识扫盲,数据库索引

1、存储引擎早期存储引擎都是把数据库相关数据固化到磁盘的,在并发上每张表都是表锁,后期的存储引擎(例如innodb,in-memory等)大多都是元数据在磁盘上,索引数据在内存中,在并发上每张表都是行锁2、磁盘型数据库索引数据库如一本词典,存储很多数据,但要快
数据库知识扫盲,数据库索引
2016-02-02

数据库索引

索引(index)是帮助MySQL高效获取数据的数据结构。常见的查询算法:顺序查找、二分查找、二叉树查找、哈希散列、分块查找、B树。  1)哈希算法:就是把任意长度值(key)通过散列算法变成固定长度的key地址,通过这个地址进行访问的数据结构。它通过关键码值
2017-04-03

Oracle Index与数据库的索引覆盖扫描提升

Oracle Index是一种用于加快数据库查询速度的数据结构,它存储了表中某个或多个列的值及其对应的行号,以便快速定位到满足查询条件的行。索引覆盖扫描是一种利用索引提高查询性能的方法,它通过仅使用索引而不需要访问表的数据块来执行查询,从而
Oracle Index与数据库的索引覆盖扫描提升
2024-08-15

数据库基础知识(三)

五、Navicat Premium 12的安装和破解Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。相关教程网址:https://www.jianshu.com
数据库基础知识(三)
2016-10-10

数据库知识点总结 -

目录数据库介绍SQLSQL定义SQL的分类:DDL(数据定义语言:操作数据库和表)DML(数据操纵语言:操作数据(增删改))DQL(查询表中的数据记录)(重点)视图事务数据库介绍数据库DataBase:用于存储和管理数据的仓库特点:持久化存储数据,数据库就是一
数据库知识点总结 -
2021-05-02

总结数据库知识点

本篇内容主要讲解“总结数据库知识点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“总结数据库知识点”吧!存储引擎InnoDBInnoDB 是 MySQL 默认的事务型存储引擎,只要在需要它不支持的
2023-06-16

编程热搜

目录