MySQL
Henry_Lin_Wind
这个作者很懒,什么都没留下…
展开
-
MYSQL 幻读
更新数据都是先读后写的,而这个读,只能读当前的值,称 为“当前读(current read)1. 在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此, 幻读在“当前读”下才会出现。 2. 上面 session B 的修改结果,被 session A 之后的 select 语句用“当前读”看到,不能称 为幻读。幻读仅专指“新插入的行”。...原创 2020-05-12 17:13:19 · 267 阅读 · 0 评论 -
MySQL 自增值保存
不同的引擎对于自增值的保存策略不同。 MyISAM 引擎的自增值保存在数据文件中。 InnoDB 引擎的自增值,其实是保存在了内存里,并且到了 MySQL 8.0 版本后,才有 了“自增值持久化”的能力,也就是才实现了“如果发生重启,表的自增值可以恢复为 MySQL 重启前的值”,具体情况是: 在 MySQL 5.7 及之前的版本,自增值保存在内存里,并没有持久化。每次重启后, 第一次打开表的时候,都会去找自增值的最大值 max(id),然后将 max(id)+1 作为这 个表当前的自增值。举.原创 2020-05-12 15:35:32 · 465 阅读 · 0 评论 -
深入理解乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernat...转载 2020-03-18 11:39:35 · 1126 阅读 · 0 评论 -
count(*) MySQL 统计表的行数
在不同的 MySQL 引擎中,count(*) 有不同的实现方式。1、MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个 数,效率很高;2、InnoDB 引擎执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。以上前提是没条件过滤的情况下,如果有条件筛选,两种引擎的效率都不高。以InnoDB...原创 2019-12-09 14:56:24 · 8575 阅读 · 0 评论 -
Mysql查看慢日志
1、开启慢日志查询set global slow_query_log='ON';[SQL]set global slow_query_log='ON';受影响的行: 0时间: 0.000s2、查看慢日志是否开启ON为开启,OFF为关闭show variables like 'slow_query%';结果:慢日志已经开启以及日志文件所在位置3、设置慢日志时间...原创 2019-11-18 11:15:52 · 1207 阅读 · 0 评论 -
select for update 和 lock in share mode 异同点及其影响
可能用到的情景和对性能的影响使用情景:1. select *** for update 的使用场景为了让自己查到的数据确保是最新数据,并且查到后的数据只允许自己来修改的时候,需要用到 for update 子句。对主键索引加锁2. select *** lock in share mode 使用场景为了确保自己查到的数据没有被其他的事务正在修改,也就是说确保查到的数据是最...原创 2019-08-21 15:46:06 · 2081 阅读 · 0 评论 -
MySQL 8.0+ 安装注意事项
https://dev.mysql.com/downloads/mysql/ 下载最新的MYSQL zip 包下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。接下来我们需要配置下 MySQL 的配置文件打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 m...原创 2019-07-29 15:17:29 · 1508 阅读 · 0 评论 -
MYSQL 周统计函数 data_format YEARWEEK
周转换函数采用 data_format,修饰符 %x-%v select date_format("2018-12-31","%x-%v") %x :年,星期一是周的第一天 %v :周, 星期一是周的第一天该函数中的跨年周统计 : 下一年的第一个周一之前的天数如果能超过3天(不包括3天),那么计算为第 1 周。否则就计算为上一年的最后一周(例:201601...原创 2019-07-02 17:07:00 · 1858 阅读 · 0 评论 -
搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库
SpringBoot 入门系列:搭建 SpringBoot 2.0 项目 (一) 开发环境的搭建(安装开发工具STS) 搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建 搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库 搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库 搭建 Spri...原创 2018-10-06 19:40:36 · 2678 阅读 · 0 评论 -
搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库
SpringBoot 入门系列:搭建 SpringBoot 2.0 项目 (一) 开发环境的搭建(安装开发工具STS) 搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建 搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库 搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库 搭建 Spri...原创 2018-10-06 15:21:05 · 1765 阅读 · 0 评论 -
复制数据库文件到另一个数据库 navicat for mysql
使用工具 navicat for mysql,查看、修改等操作均很方便。下载和安装可参考:https://blog.csdn.net/Henry_Lin_Wind/article/details/809278031、数据库A文件全部复制到另一个数据库B将待复制数据库导出。文件格式为.sql点选数据库A,右击 --> 转储SQL文件 -->结构和数据导入数...原创 2018-08-03 17:25:16 · 22572 阅读 · 2 评论 -
Navicat_for_mysql 下载和破解 11.1.13 64位
1、先运行安装程序Navicat111_mysql_cs_x64.exe2、安装成功后。再点击运行PatchNavicat.exe,打开安装目录下的navicat.exe破解完成。跳出如下页面3、 安装完成4、安装包到我的资源中下载https://download.csdn.net/download/henry_lin_wind/10522020http...原创 2018-07-05 15:31:06 · 7182 阅读 · 2 评论 -
Centos7 环境下安装 Mysql 5.7
1.1、选择版本(本文安装方为RPM包安装方式)下载链接:https://dev.mysql.com/downloads/mysql/1.2、MySQL版本选择完成后,选择操作系统的版本1.3、操作系统选择完成后,往下可看到可供下载的资源1.4、跳过登录或注册,直接下载下载完成后,打开查看确认2、解压到指定的文件夹[root@localhost /]# tar -xvf mysq...原创 2018-07-08 18:16:04 · 569 阅读 · 0 评论