美文网首页
关系型数据库的索引优缺点

关系型数据库的索引优缺点

作者: HELLOTREE1 | 来源:发表于2018-09-30 08:23 被阅读0次

面试招商软银,问到这些索引的优缺点,卡壳:参考

说白了索引就是一个查找问题

索引是对数据库表中的一列或者说是多列进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。索引的一个主要目的就是加快检索表中数据的方法

例子:这样一个查询语句selecr * from table1 where id=1000;

如果没有索引的话,必须遍历整个表,知道id等于10000的这一行被找到为止。但是有了索引之后(必须在id这一列上建立索引),即可在索引中查找,由于

索引是经过某种算法优化过的,因为查找次数要少的多。可见索引是用定位的

数据库索引的数据结构基础:B+tree

数据库索引是用于提高数据库表的数据访问速度

a)、索引的目的是什么?

1 能够避免进行数据库全表的扫描

2 快速访问数据表中的特定信息,提高检索速度

3 创建唯一性索引,保证数据库表中每一行数据的唯一性。

4 加速表和表之间的连接

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

b)、索引对数据库系统的负面影响是什么?

负面影响:

创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进

行增、删、改、的时候索引也要动态维护,这样就降低了数据的维护速度

c)、一般来说应该在这些列上建立索引?

1 在经常需要搜索的列上,可以加快搜索的速度

2 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间

3 在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

d)、 不应该在这些列上建立索引?

1 对于那些在查询中很少使用或者参考的列不应该创建索引,这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求

2 当修改性能远远大于检索性能时,不应该创建索引,这是因为修改功能和检索功能是互相矛盾的

相关文章

  • 关系型数据库的索引优缺点

    面试招商软银,问到这些索引的优缺点,卡壳:参考 说白了索引就是一个查找问题 索引是对数据库表中的一列或者说是多列进...

  • ElasticSearch之倒排索引查询

    关系型数据库: 数据库====>表====>行====>列 ElasticSearch: 索引====>类型===...

  • elasticsearch基本操作

    名词解释 索引:类似RDMS的数据库类型:类似于关系型数据库中的表文档:类似于关系型数据库中的一行字段:类似于关系...

  • ES中一些名词

    索引(名词): 如前所述,一个索引类似于传统关系数据库中的一个数据库,是一个存储关系型文档的地方。索引(index...

  • 数据库索引

    无论是传统的关系型数据库,还是比较新型的Nosql数据库MongoDB 都需要合理使用索引加快搜索速度 索引和数据...

  • 器-说明:rails中数据库效能提升—索引的添加与删除

    一、索引对数据库性能的影响 1.索引的优缺点优点:索引可以改善数据库检索(查询)的性能缺点:创建索引会额外占用数据...

  • Android数据库操作(一)——基本SQLite命令

    1、前言 SQLite数据库系统特点 轻型,嵌入式,ACID关系型数据库 SQLite优缺点 优点: 轻量、高效绿...

  • 无标题文章

    无论是关系型数据库还是非关系型数据库,乃至elasticsearch这种事实上承担着一定储存作用的搜索引擎,数据类...

  • 复习

    1.数据库三范式 2.什么是数据库索引,有什么作用,数据库索引的分类,聚簇索引的优缺点 3.数据库事务ACID的含...

  • HIVE表索引,分区和分桶的区别

    1.索引    Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外...

网友评论

      本文标题:关系型数据库的索引优缺点

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