
mysql
明月(Alioo)
一个在互联网行业浪迹多年的IT民工,集闷骚与博爱于一身,擅长JAVA,喜欢折腾Linux,热衷于研究各类B/S系统。对各类新奇技术保持极大的热情,行迹诡异,早年经常流窜于移动互联网领域,现藏身于朝林阑珊处。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。
展开
-
Mysql有则更新无则新增的几种方案
环境准备mysql版本:5.7.29测试表创建及初始化:--建表CREATE TABLE `test_user` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `uid` bigint(20) unsigned NOT NULL COMMENT '用户id', `name` varchar(128) NOT NULL COMMENT '用户名', PRIMARY KEY (`id`), UNIQ原创 2020-10-21 00:08:38 · 5468 阅读 · 1 评论 -
Mysql的explain官方文档翻译
原文地址:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#explain-extra-information先复制进来,每天翻译一段,有兴趣的小伙伴可以一块加入进来翻译【日拱一卒】The EXPLAIN statement provides information about how MySQL executes sta...原创 2019-08-26 21:47:09 · 903 阅读 · 0 评论 -
Mysql的explain之Extra字段讲解
认真阅读了一下explain之Extra字段,前2篇关于一道sql (select * from t where a=? and b>? order by c limit 0,100 ) 如何加索引的问题答案终于浮出水面Using index表示使用了覆盖索引,性能上会快很多覆盖索引是指,索引上的信息足够满足查询请求,不需要再回到主键索引上去取数据。Using index con...原创 2019-08-24 17:29:52 · 1794 阅读 · 1 评论 -
Mysql实战题目,如何加索引2?
Mysql实战题目,如何加索引2?这一篇,较上一篇文章区别在于构造的数据内容发生了变化实战题目select * from t2 where a=? and b>? order by c limit 0,100 如何加索引测试环境mysql> select version() ;+-----------+| version() |+-----------+| 8.0....原创 2019-08-24 17:13:17 · 784 阅读 · 0 评论 -
Mysql实战题目,如何加索引?
Mysql实战题目,如何加索引?实战题目select * from t where a=? and b>? order by c limit 0,100 如何加索引测试环境mysql> select version() ;+-----------+| version() |+-----------+| 8.0.17 |+-----------+1 row i...原创 2019-08-24 17:10:07 · 1368 阅读 · 0 评论 -
《MySQL实战45讲》读后感 34|到底可不可以使用join?
在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类:我们 DBA 不让使用 join,使用 join 有什么问题呢?如果有两个大小不同的表做 join,应该用哪个表做驱动表呢?今天这篇文章,我就先跟你说说 join 语句到底是怎么执行的,然后再来回答这两个问题。为了便于量化分析,我还是创建两个表 t1 和 t2 来和你说明。CREATE TABLE `t2` ( ...转载 2019-07-18 21:13:27 · 226 阅读 · 0 评论 -
《MySQL实战45讲》读后感 21|为什么我只改一行语句,锁这么多
在上一篇文章中,我和你介绍了间隙锁和 next-key lock 的概念,但是并没有说明加锁规则。间隙锁的概念理解起来确实有点儿难,尤其在配合上行锁以后,很容易在判断是否会出现锁等待的问题上犯错。所以今天,我们就先从这个加锁规则开始吧。首先说明一下,这些加锁规则我没在别的地方看到过有类似的总结,以前我自己判断的时候都是想着代码里面的实现来脑补的。这次为了总结成不看代码的同学也能理解的规则,是我...转载 2019-05-23 11:03:16 · 320 阅读 · 0 评论 -
docker入门实践,安装指定版本的mysql镜像
本文以安装mysql5.7为例查找镜像仓库含有mysql关键字的记录,这里选择了stars最高,即第1条$ docker search mysqlNAME DESCRIPTION STARS ............原创 2019-05-16 11:04:51 · 8846 阅读 · 4 评论 -
《MySQL实战45讲》读后感 06|全局锁和表锁:给表加个字段怎么有这么多阻碍
收获到的知识点MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类全局锁加全局锁的方法一flush tables with read lock (FTWRL)当你需要整个库处于只读状态的时候,可以使用这个命令,之后其它的线程会被阻塞:比如dml(数据的增删改)、ddl(建表、修改表结构)全局锁的使用场景做全局逻辑备份,也就是把整个库每个表都select出来存成文本全局锁后整库只...原创 2018-12-14 19:13:07 · 1040 阅读 · 0 评论 -
《MySQL实战45讲》读后感 03|事务隔离:为什么你改了我还看不见
收获到的知识点事务支持是在引擎层面实现的,但是并不是所有的引擎都支持事务,比如MySQL原生的MyISAM引擎就不支持事务,这也是MyISAM被 InnoDB取代的原因之一多个事务同时执行的时候,可能出现这3种情况:脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phanton read),为了解决这些总是就有了“隔离级别”的概念隔离级别有哪些级别...原创 2018-11-26 21:08:32 · 1029 阅读 · 0 评论 -
《MySQL实战45讲》读后感 02|日志系统:一条SQL更新语句如何执行的
收获到的知识点当一个表有更新的时候,跟这个表相关的所有缓存都会失效,所以这条语句就会把表T上所有缓存结果清空。(MySQL8.*版本已去掉了查询缓存模块)MySQL中的2种日志类型分别是 redo log(重做日志) 和 binlog(归档日志)之所以存在这2种类型的日志(redo log、binlog),是由于最开始MySQL里并没有InnoDB引擎的,MySQL自带的引擎是MyISA...原创 2018-11-23 13:56:23 · 7131 阅读 · 3 评论 -
MySQL LOAD DATA INFILE - 加载没有主键的文件实战
首先告诉大家关于“MySQL LOAD DATA INFILE - 加载没有主键的文件”是可以操作的,接下来就来实战一把表imagecode结构可以看到有3列,其中id是自增列。drop table `imagecode` ;create table `imagecode` ( `id` int auto_increment, `url` text, `code` ...原创 2018-11-12 20:42:28 · 2560 阅读 · 0 评论 -
在CentOS上安装Mysql5.7心路历程
背景之前一直使用yum方式安装,非常easy,具体命令为:yum install -y mysql-server mysql(同时安装mysql服务端和客户端)这种方式安装的mysql版本是不可控的,不见得是你希望的版本,我这边安装后的mysql版本是5.1,太老了,所以希望只能尝试手动来安装指定版本了具体步骤到官网下载指定版本官网地址:https://dev.mysql.com/...原创 2018-09-26 14:13:08 · 1303 阅读 · 0 评论 -
一个mysql事务引发的思考(血案)
问题简述大家都知道mysql是支持ACID,支持事务的,事务是非常重要的一个特性,要不都执行成功,要不都不成功。我们在coding时也会大量用到,但是随着业务代码的累加与使用人数的增加,系统有某些场景下会出现下面这个错误11:48:40.265[http-nio-8999-exec-3] ERROR c.x.e.l.c.e.ExceptionHandleFilter - excepti...原创 2018-07-04 20:20:26 · 497 阅读 · 0 评论 -
秒杀系统设计,高并发下的下单功能设计
功能需求:设计一个秒杀系统初始方案商品表设计:热销商品提供给用户秒杀,有初始库存。转载 2017-08-08 12:56:25 · 1011 阅读 · 0 评论 -
分库分表需要考虑的问题及方案
转自:http://www.jianshu.com/p/32b3e91aa22c?from=timeline分库分表需要考虑的问题及方案 作者 jackcooper 2017.02.08 16:08* 字数 5042 阅读 5240评论 3喜欢 48分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同转载 2017-08-08 09:53:38 · 358 阅读 · 0 评论 -
CAP 可能是CAP理论的最好解释
一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅。 Chapter 1: “Remembrance Inc” Your new venture :Last night when your spouse appreciated you on remembering her birthday and bringing her a gift转载 2017-05-15 20:32:57 · 793 阅读 · 0 评论 -
MySQL索引类型 btree索引和hash索引的区别
MySQL索引类型 btree索引和hash索引的区别来源一Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash转载 2017-05-03 20:38:23 · 447 阅读 · 0 评论