![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
风起尘落
我只需努力,剩下的交给时光。
展开
-
navicat12步骤
1.选不要打开navicat2.打开破解软件3.patch选择navicat.exe路径4.打开navicat进行后续步骤原创 2020-12-03 09:25:32 · 355 阅读 · 0 评论 -
mysql 事务,日志,mvcc,锁详细分析
一:mysql事务1.事务特性 原子性 : 实现原理(undo log) 一致性 : 实现原理( redo log) 隔离性 : 持久性 : 实现原理 (redo log)2. 事务隔离级别读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用)读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存在不可重复读和幻读问题。可重复读(mysql 默认隔离级别):同一个事务中多...原创 2020-11-26 16:55:29 · 359 阅读 · 0 评论 -
互联网项目中mysql应该选什么事务隔离级别
引言开始我们的内容,相信大家一定遇到过下面的一个面试场景面试官:“讲讲mysql有几个事务隔离级别?”你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读”面试官:“为什么mysql选可重复读作为默认的隔离级别?”(你面露苦色,不知如何回答!)面试官:"你们项目中选了哪个隔离级别?为什么?"你:“当然是默认的可重复读,至于原因。。呃。。。”(然后你就可以回去等通知了!)为了避免上述尴尬的场景,请继续往下阅读!Mysql默认的事务隔离级别是可重复读(Repeatable转载 2020-11-25 11:35:48 · 189 阅读 · 0 评论 -
MySQL的log日志文件
MySQL的那些log日志文件一、binlog日志binlog其实在日常的运维开发中是听得很多的,因为很多时候数据库数据的更新就是依赖binlog日志的。比如我们的数据保存在数据库中,现在我们有新的数据写入,或者有数据被更改致使数据库发生变更,而用户检索出来数据是走搜索引擎的,为了用户能搜到最新的数据我们需要把引擎的数据也改掉。总之就是:数据库变更,搜索引擎也需要变更,于是我们就会监听binlog的变更,如果binlog变更了。那么我们就需要将变更写入到对应的数据源中什么是binlog?转载 2020-11-24 18:06:00 · 964 阅读 · 0 评论 -
深入理解MySQL锁类型和加锁原理
前言MySQL索引底层数据结构与算法 MySQL性能优化原理-前篇 MySQL性能优化-实践篇1 MySQL性能优化-实践篇2 MySQL锁与事物隔离级别前面我们讲了MySQL数据库底层的数据结构与算法、MySQL性能优化篇一些内容。以及上篇讲了MySQL的行锁与事务隔离级别。本篇再重点来讲讲锁类型和加锁原理。首先对mysql锁进行划分:按照锁的粒度划分:行锁、表锁、页锁 按照锁的使用方式划分:共享锁、排它锁(悲观锁的一种实现) 还有两种思想上的锁:悲观锁、乐观锁。 InnoDB转载 2020-11-24 10:02:17 · 272 阅读 · 0 评论 -
mvcc实现原理
1 什么是MVCC MVCC全称是:Multiversion concurrency control,多版本并发控制,提供并发访问数据库时,对事务内读取的到的内存做处理,用来避免写操作堵塞读操作的并发问题。 举个例子,程序员A正在读数据库中某些内容,而程序员B正在给这些内容做修改(假设是在一个事务内修改,大概持续10s左右),A在这10s内 则可能看到一个不一致的数据,在B没有提交前,如何让A能够一直读到的数据都是一致的呢? 有几种处理方法,第一种:...转载 2020-11-03 19:48:43 · 3802 阅读 · 0 评论 -
mysql查看锁表情况与解决锁
1.查看那些表被锁住了:show OPEN TABLES where In_use > 0;2.查询正在进行的事务:SELECT * FROM information_schema.INNODB_TRX3.删除长时间没有释放的事务kill 线程id原创 2020-10-20 11:47:22 · 2408 阅读 · 0 评论 -
mysql中的回表查询与索引覆盖
了解一下MySQL中的回表查询与索引覆盖。回表查询要说回表查询,先要从InnoDB的索引实现说起。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。InnoDB的聚集索引InnoDB聚集索引的叶子节点存储行记录,因此InnoDB必须要有且只有一个聚集索引。1.如果表定义了PK(Primary Key,主键),那么PK就是聚集索引。2.如果表没有定义PK,则第一个NOT NULL UNIQUE的列就是聚集索引。转载 2020-10-11 16:15:28 · 288 阅读 · 0 评论 -
Mysql 连表更新
场景:三张表 layer, dise, info 通过info的age字段 条件来更新layer的字段值UPDATE layer, dise, info set layer.blood_pressure_status = ( if( info.age < 65, if((layer.systolic_pressure < 140 and layer.diastolic_pressure < 90),'0','1' ) , ...原创 2020-09-16 14:57:05 · 421 阅读 · 0 评论 -
mysql 多表关联查询&大数据量下 sql优化
1.问题: 由于mysql的自动优化,在多表关联查询&大数据量下,可能出现没有使用最优索引或者最优驱动表。2.方案:使用 强制索引 force index,示例SELECT * FROM TABLE1 FORCE INDEX (IDX_NAME) JOIN TABLE2 使用 强制链接顺序,示例SELECT * FROM TABLE1 STRAIGHT_JOIN TABLE2 3.优化结果: 业务上从3.6秒 优化至1秒。 性能提升4倍4.业务建议...原创 2020-09-14 08:52:23 · 5829 阅读 · 2 评论 -
c3p0连接池更换为druid
1.pom.xml文件中加入依赖:<!-- 连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> &...原创 2019-11-28 11:05:51 · 773 阅读 · 0 评论 -
sql语句练习题
1.有如下表1.写出一条SQL语句,查询红色数量比蓝色多的产品及数量差额。SELECT a.product ,(a.h-b.h)'差额' from (SELECT sum(num)h, product from test1 GROUP BY product,color having color='红色')a, (SELECT sum(num)h, product from test...原创 2019-11-12 15:31:47 · 244 阅读 · 0 评论 -
解决MYSQL数据库获取到的时间与当前时间不一致问题解决
选进入到Mysql执行如下语句:mysql> set global time_zone = '+08:00'; mysql> set time_zone = '+08:00'; 然后重启数据库服务器:/usr/local/mysql/support-files/mysql.server stop usr/local/mysql为M...原创 2019-10-24 19:24:36 · 1711 阅读 · 0 评论 -
count(*) count(1) count(primary key) count(column)效率比较分析
效率比较:count(*) = count(1) > count(primary key) > count(column)分析:在 mysql innoDB搜索引擎中官网的解释如下:InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way. There is no per...原创 2019-10-16 09:30:43 · 427 阅读 · 0 评论 -
mysql配置主从复制与用mycat实现读写分离
1.准备两台以上的服务器并安装mysql liunx下如何安装mysql:https://blog.csdn.net/qq_34707456/article/details/101214999主从复制2.配置两台服务器上mysql的配置文件:主服务器配置:找到mysql配置文件my.cnf,一般在/etc目录下添加如下两项配置:server_id=109 #...原创 2019-09-25 14:16:59 · 434 阅读 · 0 评论 -
liunx下安装mysql详细步骤
1.安装版本:mysql5.7.212.资源链接:https://pan.baidu.com/s/1IMgI5_I5ZB3hozTzTMkfRw 提取码:kptg3.下载压缩包解压到 /usr/local/msyql 下tar -xzvf /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz (我的下载目录为 ...原创 2019-09-23 17:42:27 · 241 阅读 · 0 评论