首页 > 数据库 >mysql性能优化(博学谷)

mysql性能优化(博学谷)

时间:2023-07-02 22:34:53浏览次数:56  
标签:key 博学 聚簇 查询 链表 索引 哈希 mysql 优化

 

 索引可以理解为一本书的目录,也是占页数,占存储空间的。key(关键字)-value(磁盘地址或行记录)。 

根据关键字去索引里面查,数据结构是B+数,查询速度快。

 

 

 哈希冲突:  通过key(k1,k2)的hashcode()获取哈希值,经过算法取得在数组上得下标位置,2个key取到了同一个下标,这就是哈希冲突。   

拉链发解决:将key2的数据放在链表上。

 

树:

二叉树:最多只有2个节点。  极端情况下可能会是一个链表。

 

 

 

 

 

 

 

 而且B+树的叶子节点是有指针的,比如你要查询比5大的,定位到0005之后往后遍历即可

 

 

 

 

 

 

 

 

 

 

 

 

 情景一:假设MySQL表中字段设定索引,且查询过程中走了聚簇索引,那么此时查询就会直接通过聚簇索引找出对应的行记录。

​ 情景二:假设MySQL表中字段设定索引,但是查询过程中未走聚簇索引,那么此时查询过程中,首先需要通过非聚簇索引找到对应的聚簇索引,然后才能通过聚簇索引找到对应的行记录。

​ 通过情景二可以看到,即使走普通索引,也还是需要再回到聚簇索引查询一次表数据,这个过程称为回表

回表会降低查询效率。

尽量使用聚簇索引,或者复合索引。

 

 

慢查询:

默认10秒

cmd或者客户端 执行命令查看慢查询的相关信息,可以自己进行修改 慢查询的时间(执行超过这个时间的查询语句会存放进去),以及日志存放的位置。。。。。 

 

 

然后在用explain 来查看执行计划。

 

标签:key,博学,聚簇,查询,链表,索引,哈希,mysql,优化
From: https://www.cnblogs.com/zhangdongdong1/p/16702923.html

相关文章

  • 【springboot】springboot集成mysql
    在pom.xml增加依赖的坐标<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version></dependency><!--<dependency&......
  • 最强优化指令大全 | 【Linux技术专题】「系统性能调优实战」终极关注应用系统性能调优
    Linux命令相关查看指标CPU指标vmstat指令vmstat-nm该命令用于每隔n秒采集系统的性能统计信息,共采集m次。[root@svr01]$vmstat13procs-----------memory-------------swap-------io------system-------cpu-----rbswpdfreebuffcachesiso......
  • MySql —— 数据页与索引
    数据库的I/O操作的最小单位是页,InnoDB数据页的默认大小是16KB,意味着数据库每次读写都是以16KB为单位的,一次最少从磁盘中读取16K的内容到内存中,一次最少把内存中的16K内容刷新到磁盘中。数据页包括七个部分       在FileHeader中有两个指针,分别指向上......
  • mysql在新建用户时报错ERROR 1819
    问题描述:mysql在新建用户时报错ERROR1819,如下所示:数据库:mysql5.7.42系统:rhel7.31、问题重现mysql>grantreplicationslave,replicationclienton*.*to'slave'@'192.168.133.91'identifiedby"slave@12345";ERROR1819(HY000):Yourpassworddoe......
  • 面试官问我知不知道 MySQL 的锁,5分钟让他刮目相看是什么?一篇理解
    锁的概念锁机制是用于管理对共享资源的并发访问。InnoDB存储引擎会在行级别上对数据上锁。数据库使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。lock与latchlatch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须要非常短。在innoDB存储引擎中,latch可以分为......
  • Mysql基础篇(三)之多表查询
    一.多表关系一对多(多对一)多对一一对一1.一对多(1).案例:部门与员工的关系(2).关系:一个部门对应多个员工,一个员工对应一个部门(3).实现:在多的一方建立外建,指向一的一方的主键2.多对多(1).案例:学生与课程的关系(2).关系:一个学生可以选修多门课程,一门课程也......
  • Tomcat 部署及优化
    目录一、Tomcat概述1.介绍二、Tomcat核心组件1.有哪些系列的组件结构(1)Web容器(2)JSP容器(3)Server容器(4)扩展2.核心组件如何进行交互(1)Tomcat架构图(2)交互流程图3.功能组件结构三、Tomcat处理请求内部数据流向1.Tomcat请求过程2.详细请求过程3.总结四、Tomcat部署1.准......
  • 面试官问我知不知道 MySQL 的锁,5分钟让他刮目相看
    锁的概念锁机制是用于管理对共享资源的并发访问。InnoDB存储引擎会在行级别上对数据上锁。数据库使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。lock与latchlatch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须要非常短。在innoDB存储引擎中,latch可以......
  • MySQL安装
    MySQL5.7的安装下载地址https://dev.mysql.com/downloads/windows/installer/5.7.html选择GAversion稳定正式版在这里卸载!在这里卸载!在这里卸载!环境变量配置win+r键入sysdm.cpl选择-高级->环境变量系统变量->新建......
  • 背包问题-二进制优化
    Smiling&Weeping----不讨好所有冷漠不辜负所有热爱 #[NOIP1996提高组]砝码称重 ##题目描述 设有$1\mathrm{g}$、$2\mathrm{g}$、$3\mathrm{g}$、$5\mathrm{g}$、$10\mathrm{g}$、$20\mathrm{g}$的砝码各若干枚(其总重$\le......