mysql
文章平均质量分 68
api调用工程师
a simple coder
展开
-
redolog、binlog
redo log(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。redolog是MYSQL为了实现WAL技术所用到的日志,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘。具体来说,当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写到 redo log 里面,并更新内存,这个时候更新就算完成了。可参考链接https://zhuanlan.zhihu.com/p/408175328#Redo%20Log。原创 2023-12-08 09:16:05 · 31 阅读 · 0 评论 -
一条SQL查询语句是如何执行的?
MYSQL拿到一个SELECT查询语句后会先到查询缓存里看看之前是不是执行过这个语句,之前执行过的语句会以key-value形式缓存在内存,key是查询的语句,value是查询到的结果。优化器的作用是MYSQL内部对语句作出的优化,例如有多个索引时决定使用哪个索引,或者一条语句有多个表join时决定各个 表的连接顺序。分析器主要是对SQL语句做解析,会根据词法分析的结果判断该条SQL语句的语法是否符合MYSQL规范,以及表和表字段是否存在。执行器的作用是操作引擎,获取返回结果。原创 2023-12-07 15:32:24 · 37 阅读 · 0 评论 -
mysql高级(四)--explain
1.explain是什么?使用explain关键字可以模拟优化器执行sql语句,从而知道mysql是如何处理你的sql语句的,然后可以分析语句以及表结构的性能瓶颈。2怎么用?使用explain+sql语句即可例:explain select * from user;3.执行计划包含的信息id:表的读取顺序select_type:数据读取操作的类型table:哪张表typ...原创 2019-12-17 10:30:15 · 204 阅读 · 0 评论 -
mysql高级(三)--索引
1.索引索引在mysql调优中占着至关重要的作用,所以深入了解索引对我们来说也是非常重要1.1索引是什么?mysql官方对索引的定义:索引(Index)是帮助MySQL高效获取数据的数据结构。因此索引的本质就是数据结构。索引的目的在于提高查询效率,可类比字典、书籍的目录等这种形式,可以简单理解为排好序的快速查找的数据结构。除数据库本身数据以外,mysql还维护着一个满足特定查找算法的...原创 2019-12-16 10:32:55 · 120 阅读 · 0 评论 -
mysql高级(二)--七种join查询
0.准备join主要是根据两张表或多张表字段之间的关联关系,从这些表中进行查询。首先创建两张表: tb_emp(员工表)和tb_dept(部门表),并插入相关测试数据。1.tb_emp表DROP TABLE IF EXISTS `tb_emp`;CREATE TABLE `tb_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name...原创 2019-12-12 16:50:35 · 655 阅读 · 1 评论 -
mysql高级(一)--基础
1. 关于mysql的一些配置文件MySQL如何安装、如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理。这里主要介绍MySQL的主要配置文件。①二进制日志log-bin:用于主从复制。②错误日志log-error:默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息等。③查询日志show-log:默认关闭,记录查询的sql语句,如果开启会降低mysql的整体性能,因为...原创 2019-12-12 15:27:03 · 326 阅读 · 0 评论