关于MySQL的学习及相关调优

Windows server 2012R2安装Oracle11g 打开 开始——所有程序——Oracle-OraDb11g_home1——配置和移植工具——Database Configuration Assistant。打开 开始——所有程序——Oracle-OraDb11g_home1——配置和移植工具——Net Configuration Assistant。首先打开Oracle的安装位置找到下面的位置找到tnsnames.ora文件右键编辑。打开Oracle的安装位置找到下面的位置找到tnsnames.ora文件右键编辑。选择仅安装数据库软件。 阅读详情

记录一下MySQL相关的学习历程

MySQL简单看分成三层,client、server、存储引擎

  • 用户从client端发送一个请求到server端,

  • server端会创建一个连接信息【验证用户名密码等信息】

  • 然后将用户发送的sql请求进行分析【经过分析器】,将sql的关键字等信息进行提取分析,

  • 然后将sql语句进行优化【优化器,MySQL自带sql优化】

  • 后面经过执行器,执行器将和存储引擎进行交互(经过存储引擎从磁盘读取数据,即IO)

优化分两种:RBO、CBO

  • RBO:基于规则的优化

  • CBO:基于成本的优化(大部分采用这种)

索引面试技术名词
回表:当查询数据时用到普通索引,第一次是在普通索引树上查找并返回主键值,再根据主键值去索引树中查找对应行的数据
覆盖索引:当根据索引树查找数据时,返回的结果就是需要查找的值,不需要回表操作,叫做覆盖索引
最左匹配:where条件中开始的列应该是组合索引最左开始的列
索引下推:当通过组合索引中某个列查找数据时,会自动将组合索引另外的相关列信息一起查找并返回,以满足可能被使用的情况,叫做索引下推
 
聚簇索引:不是单独的索引类型,而是一种数据存储方式,指的是数据行跟相邻的键值紧凑的存储在一起
非聚簇索引:数据文件跟索引文件分开存放
 
索引采用的数据结构
哈希:memory引擎,哈希存储在内存中,刚好满足memory引擎,不能持久化
缺点:
1、利用hash存储的话需要将所有的数据文件添加到内存,比较耗费内存空间
2、如果所有的查询都是等值查询,那么hash确实很快,但是在企业或者实际工作环境中范围查找的数据更多,而不是等值查询,因此hash就不太适合了
 
B+树:innodb引擎,采用B+树的存储结构
B+Tree是在BTree的基础之上做的一种优化,变化如下:
    1、B+Tree每个节点可以包含更多的节点,这个做的原因有两个,第一个原因是为了降低树的高度,第二个原因是将数据范围变为多个区间,区间越多,数据检索越快
    2、非叶子节点存储key,叶子节点存储key和数据
    3、叶子节点两两指针相互连接(符合磁盘的预读特性),顺序查询性能更高
注意:
1、InnoDB是通过B+Tree结构对主键创建索引,然后叶子节点中存储记录,如果没有主键,那么会选择唯一键,如果没有唯一键,那么会生成一个6位的row_id来作为主键
2、如果创建索引的键是其他字段,那么在叶子节点中存储的是该记录的主键,然后再通过主键索引找到对应的记录,叫做回表
注意:
在B+Tree上有两个头指针,一个指向根节点,另一个指向关键字最小的叶子节点,而且所有叶子节点(即数据节点)之间是一种链式环结构。
因此可以对 B+Tree 进行两种查找运算:一种是对于主键的范围查找和分页查找,另一种是从根节点开始,进行随机查找。
 
MyISAM存储引擎
采用B+树,但是叶子节点存放的不是行数据,因为MyISAM在磁盘存储时有三个文件,分别是表结构文件、索引文件、数据文件;索引和数据是分别存储的,所以在使用MyISAM存储引擎时,叶子节点存放的是指向数据文件在磁盘存放的物理位置,而非实际的数据库存储的行数据
 

红黑(Red-black)树

       是一种自平衡二叉查找树,1972年由Rudolf Bayer发明,它与AVL树类似,都在插入和删除操作时能通过旋转操作保持二叉查找树的平衡,以便能获得高效的查找性能。它可以在 O(logn) 时间内做查找,插入和删除等操作。红黑树是2-3-4树的一种等同,但有些红黑树设定只能左边是红树,这种情况就是2-3树的一种等同了。对于AVL树来说,红黑树牺牲了部分平衡性以换取插入/删除操作时少量的旋转操作,整体来说性能要优于AVL树。

特点:

       节点是红色或黑色。

       根节点是黑色。

       每个叶节点(NIL节点)是黑色的。

       每个红色节点的两个子节点都为黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)

       从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

       最长路径不超过最短路径的2倍

 

 

 

 

 

左旋: 逆时针旋转,父节点被自己的右孩子取代,而自己成为自己的左孩子

右旋:顺时针旋转,父节点被做孩子取代,而自己成为自己的右孩子

行专列:
 
分区表:

 

日志存储及作用
Redo log:innodb存储引擎的日志文件
    当发送数据修改的时候,innodb引擎会先将记录写到redo log中,并更新内存,此时更新算是完成了,同时innodb引擎会在合适的时候将记录写入到磁盘中
    Redo log是固定大小的,循环写的过程
    有了Redo log,innodb保证了即使数据库发生异常重启,之前的记录也不会丢失,叫做crash-safe

 

Undo log:innodb存储引擎日志
    
 
binlog:服务端的日志文件
    
数据更新的流程
  
 
两阶段提交:写入redo,prepare阶段;写入binlog,commit阶段;数据和日志分离
 
 

意向共享锁、意向排他锁、间隙锁、自增锁

innodb 读写锁

select lock in share mode 

select for update

相关点要多使用多练习

C#调用Halcon程序三种方法 C#调用Halcon程序三种方法 1.halcon导出C#文件,在C#里面调用 2.在C#里面使用Halcon引擎调用Halcon程序 3.在C#里面使用Halcon引擎调用.hdev下本地函数或者.hdvp外部函数 Halcon引擎手册:C:/Program Files/MVTec/HALCON-21.11-Progress/doc_en_US/html/manuals/programmers_guide/programmers_guide_0120.html 1.导出C#(代码我只给出类,需要调用) 阅读详情

相关推荐

Mac上MySQL出现secure-file-priv为null

在使用MySQL导入导出文件时出现了错误,原因是没有配置secure-file-priv。 我的MySQL版本是8.0.13,使用如下命令查看secure-file-priv。 结果发现secure-file-priv为空,此时需要为它配置一个文件夹。 解决方案: 1)到MySQL的安装目录中去,Mac中是的是 /usr/local/mysql/support-files,该目录下有一...

zhangvalue的博客 5883

初探_红黑(Red-black)树

红黑树 红黑(Red-black)树 ​ 是一种自平衡二叉查找树,1972年由Rudolf Bayer发明,它与AVL树类似,都在插入和删除操作时能通过旋转操作保持二叉查找树的平衡,以便能获得高效的查找性能。**它可以在 O(logn) 时间内做查找,插入和删除等操作。**红黑树是2-3-4树的一种等同,但有些红黑树设定只能左边是红树,这种情况就是2-3树的一种等同了。对于AVL树来说,红黑树牺牲了部分平衡性以换取插入/删除操作时少量的旋转操作,整体来说性能要优于AVL树。 特点: 节点是红色或黑色

海枫的博客 504

Materials Studio多层聚合物建模全流程:从Build Layers到LAMMPS data文件导出避坑指南

本文详细解析了使用Materials Studio构建多层聚合物模型并导出为LAMMPS data文件的全流程。重点剖析了Build Layers工具的核心逻辑、真空层处理技巧,并提供了解决导出过程中Z轴坐标偏移问题的实战方案,特别是如何利用msi2lmp工具的-shift参数进行精准校正,确保模型在LAMMPS中模拟的稳定性和准确性。

hhh00的博客 913

【数据结构】红黑树(R-B Tree)

定义 红黑树(Red-Black Tree)是一棵含有红黑结点、能够自平衡的的二叉排序树。它满足如下定义: 1)每个结点或为黑色,或为红色 2)根结点是黑色 3)每个叶子结点是黑色,注意这里的叶子结点是指NIL结点 4)一个红结点的两个子结点必为黑色,即不存在连续的红结点 5)任一结点到每个叶子结点的路径都包含相同数量的黑结点,即对于黑结点平衡     红黑树的查找 红黑树是一棵不严格的平衡树,但它是一棵严格的排序树/搜索树。 因此,查找操作的时间复杂度自然是O(logn)。 &nbs

丧心病狂Loli控的博客 456

M1/M2 Mac用户看过来:不装VirtualBox,用PD虚拟机也能跑ENSP的保姆级教程

本文为M1/M2 Mac用户提供了一份不依赖VirtualBox,使用Parallels Desktop虚拟机运行ENSP的详细指南。通过ARM架构的Win10镜像选择、组件替代方案和网络配置优化,实现ENSP核心功能的高效运行,特别适合网络工程师在苹果芯片设备上进行网络模拟。

weixin_28683065的博客 411

深入解析以太网接口中的BOB Smith电路设计

本文深入解析以太网接口中的BOB Smith电路设计,详细介绍了其在共模噪声抑制、浪涌防护和EMI优化中的关键作用。通过实际案例和设计要点,帮助工程师正确选择75Ω电阻和高压电容等元件,优化PCB布局,解决电压型与电流型PHY的设计差异,以及千兆与百兆以太网的特殊考量。

weixin_28339967的博客 688

红黑树(Red-Black tree)

红黑树定义 Red-Black tree, 简称RB-Tree 它是在1972年由鲁道夫·贝尔发明的,他称之为“对称二叉B树”,它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的 特点:利用对树中的结点 “红黑着色”的要求,降低了平衡性的条件,达到局部平衡,有着良好的最坏情况运行时间,它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。 红黑树的应用 典型的用途是:关联数组 C++ STL中的关联式容器:集合set、多

学习日常分享 2490

YOLOv11改进 | 添加注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

这篇文章给大家带来的改进机制是一个汇总篇,包含一些简单的注意力机制,本来一直不想发这些内容的(网上教程太多了,发出来增加文章数量也没什么意义),但是群内的读者很多都问我这些机制所以单独出一期视频来汇总一些比较简单的注意力机制添加的方法和使用教程,本文的内容不会过度的去解释原理,更多的是从从代码的使用上和实用的角度出发去写这篇教程。欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、GAM2.1 GAM的介绍2.2 GAM的核心代码。

Snu77的博客 5153

终于搞懂了红黑树

R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。 红黑树的特性: (1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!] (4)如果一个节点是红色的,则它的子节点必须是黑色的。 (5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。 注

qq_37436172的博客 1706

微信小程序码 createWxaCodeUnlimit 生成总是报错 41030 的解决方案

41030错误本质上就是路径不合法。路径多写了一个斜杠路径带了参数小程序版本未发布或 app.json 配置不一致。如果确认页面存在,可以通过来跳过检查。微信小程序 getUnlimitedQRCode 官方文档路径前不能加 /,参数放 scene,发布版本要有这个页面,不行就关掉 check_path。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 475

4、教育数据挖掘:公共数据集与研究进展

本文综述了教育数据挖掘(EDM)领域的研究进展与公共数据集应用情况。从2013年至2020年,EDM在电子学习系统、大规模开放在线课程(MOOC)等方面快速发展,涵盖了多种研究任务、工具与方法。文章梳理了UCI、Mendeley、DataShop等平台的公开数据集,分析了其特点与局限性,并介绍了KDD Cup、Kaggle等竞赛中的教育数据集及其评价指标。同时,探讨了多模态、心理行为等特色数据集的应用场景。最后指出当前EDM面临的主要挑战是缺乏系统性数据集综述、数据预处理复杂及可重复性不足,呼吁加强数据共享

rgv2345678的博客 171

Massively Parallel Multiview Stereopsis by Surface Normal Diffusion

Massively Parallel Multiview Stereopsis by Surface Normal Diffusion contribution 提出了一种新的类似传播的方案 red-black(checkerboard) scheme 更适用于GPU多核运算 将PatchMatch Stereo从双视图拓展到多视图,在多视图数据中更好的去处冗余。拓展的出发点是观察到可以在欧几里...

qq_26876733的博客 2071

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2024秋招总结指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸?

2024秋招总结指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸?

jcc4261的博客 546

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

面试指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸?

01 MySQL性能调优 1.1 MySQL性能调优问题有哪些?怎么学? 关于这个,给大家看一份学习大纲(xmind)文件,每一个分支里面会有详细的介绍。MySQL性能调优问题 这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM),文末有领取方式!! 1.2 关于MySQL,面试官会问哪些问题? 第一个:MySQ性能优化最佳实践21个(有具体的解释)你知道哪些?篇幅有点长,整理成了一个PDF文档:MySQ性能优化最佳实践21个(具体的解释)MySQL的高频20

老男孩的架构路 651

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

2021春招面试指南之性能调优:MySQL/Tomcat/JVM(含答案解析)

春招指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸? 01 MySQL性能调优 1.1 MySQL性能调优问题有哪些?怎么学? 关于这个,给大家看一份学习大纲(xmind)文件,每一个分支里面会有详细的介绍。 这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)可以 直接点击传送门即可!! 1.2 关于MySQL,面试官会问哪些问题? 第一个:MySQ性能优化最佳实践21个(有具体的解释)你知道哪些? 为查询缓存

bieber007的博客 245

“吃”完这本Java性能调优实战,MySQL+JVM+Tomcat等问题一键全消

前两天有个朋友去某厂面试,开场还是挺顺利的,没过多久却被调优问成凉凉了。 image 我心想,2021都要来了,是不是也有很多朋友同样在JAVA性能调优这一块掌握的不够呢?所以今天来写这篇文章,就是想给大家分享一份阿里P8架构师手敲20W字的调优实战笔记,另外尤其对于MySQL、Tomcat、JVM这三,看看我为其手绘对应的架构思维脑图以及面试相关的高频真题及答案,并且奉上收集的必刷笔记...

l081499的博客 309

面试字节跳动两轮后被完虐,Java最牛教材

本书包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与恢复、日志以及性能优化等等。由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

2401_83704218的博客 923

Java高级:mysql创建用户密码,那些BAT大厂的Java面试官到底在想些什么

事务四大特性(ACID)原子性、一致性、隔离性、持久性?事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?什么是临时表,临时表什么时候删除?MySQL B+Tree索引和Hash索引的区别?

bq520111的博客 731

尚硅谷MySQL学习笔记

MySQL笔记目录一、MySQL数据库基础篇大纲1. 数据库概述与MySQL安装篇第01章:数据库概述第02章:MySQL环境搭建2. SQL之SELECT使用篇第03章:基本的SELECT语句第04章:运算符第05章:排序与分页第06章:多表查询第07章:单行函数第08章:聚合函数第09章:子查询3. SQL之DDL、DML、DCL使用篇第10章:创建和管理表第11章:数据处理之增删改第12章:MySQL数据类型精讲第13章:约束4. 其它数据库对象篇第14章:视图第15章:存储过程与函数第16章:变量、

IAMLSL的博客 2万+

秒杀面试官!阿里架构师纯手写最全MySQL高性能调优笔记助你飞升

在互联网行业,MySQL数据库毫无疑问已经是最常用的数据库,无论你是写哪个语言的程序员,都离不开和MySQL数据库打交道~笔记一:MySQL高级知识笔记图文展示:MySQL性能调优与架构设计解析文档基础篇:第 1 章 MySQL 基本介绍第 2 章 MySQL 架构组成第 3 章 MySQL 存储引擎简介第 4 章 MySQL 安全管理第 5 章 MySQL 备份与恢复性能优化篇第 6 章 影响 MySQL Server 性能的相关因素第7 章 MySQL 数据库锁定机制。

2401_84002482的博客 314

高级架构师纯手写MySQL笔记,已经熬夜学习了

数据库是一个综合系统,其背后是发展了几十年的数据库理论。也许你会觉得数据库并不难,因为你可以熟练地写出SQL,也可以在各个客户端里玩得游刃有余。但就以最常见的MySQL为例,作为程序员,你在使用MySQL的过程中,是不是曾经遇到过类似的问题: 为什么我的count(*)这么慢?

老男孩的架构路 1282

十位互联网一线高工手写Java高级知识,赶紧收藏!

程序员:给多少工资,干多少事 我们不是经常会看到一个关于西游记的“悖论”吗: 为什么孙悟空初期大闹天宫的时候那么厉害?因为他自己当老板,打一群天庭的打工仔。 为什么取经路上又变得不行了?作为一个打工仔,去跟一群出来自己创业的妖怪打架。 很多程序员想跟老板说,但又不太敢说,实际却在做的一件事。 事实却是: “拿着10K的工资,做着20K的事,还要操着30K的心!” 其实,这些情况都不奇怪,甚至是人之常情。 1关于MySQL,面试官会问哪些问题? 第一个:MySQ性能优化最佳实践21个(有具体的解释)你知

天真爱器 96

Java高级:mysql创建用户密码,java64位3下载百度云盘

垂直分割 拆分大的 DELETE 或 INSERT 语句 越小的列会越快 选择正确的存储引擎 使用一个对象关系映射器(Object Relational Mapper) 小心“永久链接” 篇幅有点长,整理成了一个PDF文档: 第二个:来看下MySQL的高频20问(附带详细解答,整理成册) 事务四大特性(ACID)原子性、一致性、隔离性、持久性? 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别? MySQL常见的三种存储引擎(InnoD..

m0_64384202的博客 640

深入解析MySQL索引优化从B+树原理到实战调优技巧

MySQL索引优化是一个从理论到实践的完整体系。从理解B+树的基本原理开始,到掌握各种索引类型的特点,再到灵活运用索引设计原则和高级优化技巧,每一步都是提升数据库性能的关键。优秀的索引设计不仅能显著提高查询速度,还能降低系统负载,提升整体稳定性。希望通过本文的解析,读者能够建立起系统的MySQL索引优化知识框架,并在实际工作中灵活应用,打造高性能的数据库系统。

wangxf0207的专栏 648

Java开发者跳槽必备:java安装目标文件夹对话框更改

资料一:《MySql学习导图》 《MySql核心笔记》 《MySql性能调优笔记》 由于篇幅有限,相关资料主要以图片的形式展示给大家 最后 俗话说,好学者临池学书,不过网络时代,对于大多数的我们来说,我倒是觉得学习意识的觉醒很重要,这是开始学习的转折点,比如看到对自己方向发展有用的信息,先收藏一波是一波,比如如果你觉得我这篇文章ok,先点赞收藏一波。这样,等真的沉下心来学习,不至于被找资料分散了心神。慢慢来,先从点赞收藏做起,加油吧! 好啦,由于文章篇幅限制

m0_56675572的博客 162

毕业十年,年薪百万!因为我掌握这些JDK性能调优神器!,java工程师面试题库

文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图。文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图。获得堆快照文件之后,我们可以使用多种工具对文件进行分析,例如jhat,visual vm等。相比于-gc 参数,只显示使用率而非使用量了。

m0_63102527的博客 662
上一篇: JVM详解,一篇文章带你入门
下一篇: SpringCloud之Eureka Server 源码解读
明明在学JAVA
博客等级 码龄17年 58粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值