美文网首页数据库面试
mysql是如何查询数据的?

mysql是如何查询数据的?

作者: 屎倒淋头还嚼便 | 来源:发表于2018-04-20 13:49 被阅读47次

什么是索引?基本原理

索引的作用:索引的目的就是快速的找到数据的所在行,就是找到该行的地址。

如果查找的数据所在列没有索引,那么,mysql只能从第一行到最末一行,逐行查找,数据量大时,效率很低。

索引也是表,存储着索引列数据、和该数据所在行的地址( 每一行的唯一标识 地址,有主键的话就是主键,主键也是指针地址),两种数据。

查找时,就是根据传入的值,和索引表中的列数据进行比较,从而拿到所在行的地址。再根据地址查询原始表。

1、建立索引,需要设计一种数据存储结构和对应的算法。如mysql的B+树

mysql根据索引所在的列建立一个树状存储结构,每个结点都是一个单独的磁盘文件,并存储部分数据。

如下图所示, 可以只看图,文字解说我没看懂。可以把磁盘块中的数字17、35等理解为实际的表数据(这些数据同时对应存储着原始表的地址)

文章有很多错误,另转一篇文章:索引背后的数据结构及算法原理

地址:https://www.cnblogs.com/tgycoder/p/5410057.html

相关文章

  • 2019-02-22

    mySQL Navicat for mySQL 关系型数据库:用表传数据 如何建表:查询→新建查询 注释: -- ...

  • 64MySQL-分页查询&表连接&count统计&索引优化总结

    1 Mysql 分页查询sql 执行原理? 2,千万级数据mysql 分页查询如何优化 3,Mysql表连接底层实...

  • MySQL索引

    什么是索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构 数据库如何查询...

  • SQL查询近期数据

    mysql查询时间的数据: 解释: 1.(mysql查询今天的数据) 2.(mysql查询昨天的数据) 3.(以当...

  • mysql是如何查询数据的?

    什么是索引?基本原理 索引的作用:索引的目的就是快速的找到数据的所在行,就是找到该行的地址。 如果查找的数据所在列...

  • Python操作三大数据库(1)-MySQL

    本章是直接操作MySQL数据库的实现方式 连接MySQL数据库 查询单条数据 查询多条数据 通过分页方式查询 插入...

  • 从0到1学习网络安全 【MySQL基础-MySQL 查询数据】

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据。你可以通过 mysql> 命令提示...

  • MySQL技巧

    一、存储引擎 存储引擎是MySQL数据库的核心、心脏、发动机,它决定了数据如何存储,查询的时候如何搜索数据,索引如...

  • MySQL性能优化(一)-- 存储引擎和三范式

    一、MySQL存储引擎 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方...

  • python下MySQL的使用

    mysql连接 全部查询 单个查询 更新数据

网友评论

    本文标题:mysql是如何查询数据的?

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