美文网首页
MySQL--3索引与innodb结构

MySQL--3索引与innodb结构

作者: 安晓生 | 来源:发表于2020-10-29 12:03 被阅读0次

大家好,我是安小生,下面我们讲解一下MySQL的索引与结构。

分页优化。

  • 可以通过子查询,
select * from article where id >= (select id from article limit 999999,1) limit 10;
  • 2,先查询id,在查询数据
select id from article limit 99999,10;
select * from article where id in ();
  • 3,先加索引在查询
alert table 表 add index idx_title_url_author(titme,url,author);
select title,url,author from article where id >=(select id from article limit 99999,1) limit 10;
以上是一个数据量比较大的一个分页优化方案。

innodb是如何储存我们的数据的?

  • innodb由多个段空间组成。
    1.1 叶子段:索引b+tree信息。
    1.2 非叶子段:索引b+tree的信息。
    1.3 回滚段:回滚的数据
    1.4 索引段:总的索引位置记录
    空间段
    一个区中64个也,不满足就会重新申请一个空间,一个区大概是1mb,一段空间由多个组成。而一个空间有16KB
    行空间数据的长度大小,实际的表数据,文件信息等。

    看下面的图吧。 总结图.png

什么是索引

索引是数据相关优化的重要手段,主要是单表的情况下,索引不是万能的,不要误会使用的一定可以优化,跟优化的效果好。
MySQL中的所有类型:bterr索引,hash索引,fulltext(全文索引)一般会使用es分布式搜索引擎代替,R-tree索引。

  • 索引类型:
    主键索引:就是我们的自增id主键。
    唯一索引:一个唯一字段建立的索引。
    单索引:单个字段简历的索引。
    联合索引:多个字段联合创建的索引,
    全文索引:列如:你今天去干什么了。会拆分:你,今天,去,干什么了。针对中文进行分词的搜索。
    覆盖索引:是所有查询sql🔐追求的索引效率完美的使用,
后面我们会详细的出一个索引文章。

B+TREE结构。

  • btree结构:二叉树,二分算法。
二分法:会不断的选择一个元素作为中数,比较左边的元素小于中位数,右边的大于中位数。

如图:


二叉树的结构.png
  • b+tree 根据平衡树来的。


    b+tree结构.png

    数据不存在非叶子节点,所有的数据是存在叶子节点,根据数据的情况进行数据计算会尽量的均衡分配,不同的页中。
    基本的浮动范围=》浮动值=》根据最大和最小创建不同的页。

相关文章

  • MySQL--3索引与innodb结构

    大家好,我是安小生,下面我们讲解一下MySQL的索引与结构。 分页优化。 可以通过子查询, 2,先查询id,在查询...

  • Mysql 存储-学习记录

    1,基础的数据结构-B+tree2,Innodb的页---逻辑3,Innodb的索引---数据结构 主键索引(按...

  • Mysql InnoDB 表结构

    InnoDB表结构 重要信息 InnoDB中索引即数据,数据即索引 上述的表结构式逻辑表结构,可能在内存也可能在磁盘

  • mysql innodb索引和锁笔记

    索引数据结构B+树 在innodb中,表都是根据主键顺序以索引的形式存放的,innodb采用B+树索引模型,索引都...

  • MySQL索引及其优化

    MySQL中索引实现的底层数据结构 B+树索引 InnoDB可以使用这个也可以选择Hash InnoDB引擎中索引...

  • 学习的技术栈,技术书籍必看for me

    《高性能MySQL》 《数据库索引设计与优化》 《MySQL技术内幕:InnoDB存储引擎》 《数据结构与算法分析...

  • 最新Java面试300题:腾讯T4面试+美团+京东+拼多多(文末

    数据库原理 MYISAM与innodb搜索引擎原理MyISAM引擎使用B+Tree作为索引结构,叶节点的data域...

  • 索引

    sql执行过程 InnoDB索引结构/方法1.hash特点:key-value形式的索引结构优点:速度快、时间复杂...

  • MySQL

    索引 InnoDB MySQL5.6版本之后默认引擎是innoDB,以B+树作为索引的数据存储结构。B+数是以B树...

  • InnoDB 行锁的实现

    InnoDB 存储结构 InnoDB 是聚簇索引,也就是 B+树的叶节点既存储了主键索引也存储了数据行。而 Inn...

网友评论

      本文标题:MySQL--3索引与innodb结构

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