面试造火箭,工作拧螺丝,虽然工作时我们都在使用基本的 sql,但是不好意思,面试 90% 都在问原理,例如索引,锁,日志,引擎啊等等。

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

如果我们想在图书中查找特定内容,在没有目录的情况下只能逐页翻找。与此类似,当执行下面这样一条SQL语句时,假如没有索引,数据库如何查找到相对应的记录呢?

SELECT * FROM student WHERE name=‘小白’
1
复制代码类型:[javascript]
搜索引擎只能扫描整个表的每一行,并依次对比判断name的值是否等于“小白”。我们知道,单纯的内存运算是很快的,但从磁盘中取数据到内存中是相对慢的,当表中有大量数据时,内存与磁盘交互次数大大增加,这就导致了查询效率低下。

索引的优点如下:

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

可以大大加快数据的查询速度,这是使用索引最主要的原因。

在实现数据的参考完整性方面可以加速表与表之间的连接。

在使用分组和排序子句进行数据查询时也可以显著减少查询中分组和排序的时间。

既然索引这么好,那么我们是不是尽情使用索引呢?非也,索引优点明显,但相对应,也有缺点:

创建和维护索引组要耗费时间,并且随着数据量的增加所耗费的时间也会增加。

索引需要占磁盘空间,除了数据表占数据空间以外,每一个索引还要占一定的物理空间。

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

因此,使用索引时要兼顾索引的优缺点,寻找一个最有利的平衡点。

面试领取Java面试题

MySQL索引的使用知识有哪些?相关推荐

  1. 开课吧:MySQL索引的使用知识有哪些?

    面试造火箭,工作拧螺丝,虽然工作时我们都在使用基本的 sql,但是不好意思,面试 90% 都在问原理,例如索引,锁,日志,引擎啊等等. 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的 ...

  2. 讲真,MySQL索引优化看这篇文章就够了

    本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开. 一.MySQL--索引基础 首先,我们将从索引基础开始介绍一下什么 ...

  3. 腾讯 WXG 后台开发工程师对 MySQL 索引知识点总结

    知其然知其所以然!本文介绍索引的数据结构.查找算法.常见的索引概念和索引失效场景. 什么是索引? 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中 ...

  4. MySQL 索引知识点总结

    知其然知其所以然!本文介绍索引的数据结构.查找算法.常见的索引概念和索引失效场景. 什么是索引? 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中 ...

  5. MySQL索引面试题汇总

    目录 1.前言 2.索引数据结构分类 3.二叉查找树 4.红黑树(自平衡二叉查找树) 5.B-Tree 6.B+Tree 6.1 B+Tree概述及特点 6.2 B+Tree存放数据示例 6.3 My ...

  6. MySQL索引优化看这篇文章就够了!

    阅读本文大概需要 5 分钟. 来源:cnblogs.com/songwenjie/p/9410009.html 本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引 ...

  7. MySQL索引知识总结

    对MySQL索引知识的总结笔记. 普通索引 索引是一种数据结构,主要用于性能的提高. 比如我们有一个表t_users,有4个字段: 1 2 3 4 5 6 7 create table t_users ...

  8. Mysql数据库(四)——mysql索引相关知识

    Mysql数据库(四)--mysql索引相关知识 一.索引的概念 二.索引的优缺点 1.优点 2.缺点 三.创建索引的原则 四.索引的分类和创建方法 1.普通索引 ①.直接创建索引 ②.修改表方式创建 ...

  9. ❤『知识集锦』一文搞懂mysql索引!!(建议收藏)

    作者:不吃西红柿 简介:CSDN博客专家.蓝桥签约作者.大数据领域优质创作者. 以我的资历和文凭,将来这个城市的大街,都归我扫.   [系列课程介绍] 『面试知识集锦』系列课程包括以下20个系列,超过 ...

最新文章

  1. 【硅谷牛仔】当代钢铁侠-特斯拉CEO 埃隆·马斯克
  2. 大话IT职场之办公室环境重要吗?
  3. C linux 宏定义的使用
  4. ubuntu系统中root的2种pip路径
  5. 专题突破三之并查集Ⅱ——星球大战,In Touch,方格染色,Junk-Mail Filter,关押罪犯,Silver Woods,Must Be Rectangular!
  6. 美国夫妇用数学算法买彩票赢1.74亿元——网友:现在学数学还来得及吗?
  7. 毕啸南专栏 | 对话百度王海峰:AI时代会产生新巨头
  8. 多元函数的极值、微分
  9. My 1st webUI try
  10. 低秩矩阵完备_矩阵之芯 SVD: 基本应用以及与其他分解的关系
  11. pear php有什么用?,php – PEAR和PEAR2有什么区别?
  12. 研磨java_研磨设计模式.pdf
  13. IDEA常用快捷键整理大全(非常详细)持续更新中...
  14. 在多个QQ号码间共享自定义表情(转)
  15. 计算两个经纬度点之间的距离
  16. Linux中vim如何配置,Linux中vim的简单配置
  17. 打开蓝牙来允许”xxx”连接到配件
  18. 嵌入式在各个行业的应用
  19. Android下的串口开发
  20. TypeError错误解决方案

热门文章

  1. [转载] Python3 String模块ascii_letters和digits
  2. [转载] python笔记:4.1.2.1统计量_离散程度_方差和标准差
  3. 详解python 字符串
  4. 洛谷 题解 P2117 【小Z的矩阵】
  5. Oracle入门第二天(下)——单行函数
  6. MyBatis基础入门--知识点总结
  7. 【linux】xrander/cvt自定义分辨率
  8. 持久化框架数据持久化框架(JPA)及其具体实现
  9. 3种方法快速制作tpk文件
  10. linux安装软件imagemagick,Linux系统中怎么安装和使用ImageMagick软件?