mysql
文章平均质量分 70
大碍桃花开
记录工作 记录成长 记录生活
展开
-
验证mysql 隔离级别为读已提交时解决脏读问题
在学习事务的隔离级别时不知道你们会不会产生这样的疑问,在设置事务的隔离级别时只说了设置,可是没说要在哪个事务里设置什么样的隔离级别,如果某一个事务里面设置了其它的隔离级别会怎么样呢?今天就来验证下隔离级别为读已提交时怎么解决脏读mysql版本:8.0首先需设置下自动提交 将自动提交关闭set autocommit = 0;查看是否关闭show variables like ‘autocommit’;设置隔离级别及查看set global transaction isolat原创 2021-03-24 00:28:12 · 1899 阅读 · 1 评论 -
mysql innode和myisam引擎查询性能比较测试
百度了一遍下来都在说myisam引擎的查询性能比innodb好,但是没有看到拿数据出来说话的,今天得空就做了下测试。知识回顾摘抄自:https://blog.csdn.net/STFPHP/article/details/52827845?utm_source=blogkpcl13MyISAM索引的实现MyISAM索引文件和数据文件是分离的,索引文件仅保存记录所在页的指针(物理位置),通过这些地址来读取页,进而读取被索引的行。下图是MyISAM的索引原理图:(为了简化,一个页内只存放了两条记录。)原创 2021-03-11 23:25:15 · 609 阅读 · 5 评论 -
mysql数据结构(页结构、行结构、b+树结构)
mysql数据结构行结构页机构File Header(文件头部)Page Header(页面头部)Page Directory(页目录)B+树行结构mysql中记录行的结构:对于下面俩个字段的理解:n_owned (4个字节 ): 普通记录行数据中此字段是不会有值得,此字段是页中数据分组后每组中最大记录行才会有值,记录的是该组中记录的条数分组是按照下边的步骤进行的: 初始情况下一个数据页里只有最小记录和最大记录两条记录,它们分属于两个分组。之后每插入一条记录,都会从页目录中找到主键值比原创 2021-02-13 20:16:07 · 1064 阅读 · 0 评论 -
check the manual that corresponds to your MySQL server version for the right syntax to use near解决方法
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax原创 2020-11-17 20:38:50 · 3993 阅读 · 0 评论 -
MySQL数据库面试题(2020最新版)
文章目录 数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别? 数据类型mysql有哪些数据类型 引擎MySQL存储引擎My...转载 2020-10-15 22:52:54 · 757 阅读 · 0 评论 -
MySQL常见的七种锁详细介绍
一、死锁示例考虑下面一个MySQL死锁的示例:有如下一张表: CREATE TABLE `test` ( `id` int(20) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`))...转载 2020-05-17 22:14:01 · 551 阅读 · 1 评论 -
JPA(Hibernate)使用LocalDate LocalDateTime出现保存时间结果不一致异常解决
做单元测试的时候发现新增数据的时间不对,由于使用的jpa保存的数据,实体类的时间为LocalDateTime, 数据库字段为DateTime实体的时间为:15:50,可是存到数据库后就变成了1:50,很是诧异接下来就想办法怎么解决吧。。。。一共想到俩种方式,要么是mysql的时区有问题,要么jpa有问题一 jpa的问题由于低版本JPA(2.3之前)中还未使用jdk1.8的新特性,会把...原创 2020-03-04 20:44:01 · 5372 阅读 · 0 评论 -
MySQL锁详解
MySQL锁详解 一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的...转载 2019-12-12 22:37:00 · 174 阅读 · 0 评论 -
MySQL的锁
锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。1...转载 2019-12-05 21:37:53 · 115 阅读 · 1 评论 -
mysql MVCC
Mysql到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段:6字节的事务ID(DB_TRX_ID ) 7字节的回滚指针(DB_ROLL_PTR) 隐藏的ID6字节的事物ID用来标识该行所述的事务,7字节的回滚指针...转载 2019-04-22 21:46:30 · 551 阅读 · 0 评论 -
Mysql面试题
Mysql 的存储引擎,myisam和innodb的区别。答:1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。数据表类型有哪些答:MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等...转载 2019-02-21 21:34:53 · 1776 阅读 · 1 评论 -
存储过程中使用repeat 死循环解决
在使用循环时 发现sql陷入了死循环,单个执行sql 的时候就没问题,最后发现是until ( a ==b ) 结束循环体的条件有问题当 == 俩边都为null 时并不会返回true结束循环 所以我们在循环体中对a,b 的处理一点要保证不要出现null 值,这一点需要特别注意,尤其是在使用 select id into a from …时要查找的结果不为null....原创 2018-12-03 22:16:13 · 958 阅读 · 0 评论 -
MySQL 存储过程创建
存储过程(Stored Procedure):一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。优点(为什么要用存储过程?):①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用②批量处理:SQL+循环,减少流量,也就是“跑批”③统一接口,确保数据的安全相对于oracle数据库...原创 2018-11-26 21:09:52 · 2596 阅读 · 0 评论 -
MySQL information_schema
information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式。感觉information_schema就像是MySQL实例的一个百科全书,记录了数据库当中大部分我们需要了结的信息,比如字符集,权限相关,数据库实体对象信息,外检约束,分区,压缩表,表信息,索引信息,参数,优化,锁和事物等等。通过information_schema我们可以窥透整个MySQL实...转载 2018-11-26 20:47:41 · 200 阅读 · 0 评论 -
mysql sql语句执行流程
SQL Select 语句完整的执行顺序:1、from 子句组装来自不同数据源的数据;2、where 子句基于指定的条件对记录行进行筛选;3、group by 子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用 having 子句筛选分组;6、计算所有的表达式;7、select 的字段;8、使用 order by 对结果集进行排序。SQL 语言不同于其他编程语言的最明显...转载 2018-11-26 20:42:50 · 164 阅读 · 0 评论 -
mysql binlog详解
binlog 基本认识MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replication在Master...转载 2018-11-19 21:47:17 · 179 阅读 · 0 评论