随笔分类 -  数据库

数据库
摘要:线上发现执行某特定任务在某个特定时间点后不再work。该任务由线程池中线程执行定时周期性调度,根据日志查看无任何异常。从代码研判应该无关定时任务框架,因为对提交的定时任务做了wrap,会将异常都catch住,保证下次仍然能够正常调度。 通过jstack导出堆栈信息,发现问题线程的堆栈信息如下: "O 阅读全文
posted @ 2018-03-20 20:56 活在夢裡 阅读(4247) 评论(1) 推荐(0)
摘要:1. 背景 本文基于MySQL InnoDB源码对InnoDB中非锁定一致性读是如何实现的作一些简单的探究。 2. 基本概念 2.1 隐藏字段 在经典之作《高性能MySQL》的1.4节中提及了MySQL中MVCC的实现,原著中提及了 InnoDB implements MVCC by storing 阅读全文
posted @ 2018-01-02 23:52 活在夢裡 阅读(2506) 评论(1) 推荐(0)
摘要:本文针对MySQL InnoDB中在Repeatable Read的隔离级别下使用select for update可能引发的死锁问题进行分析。 1. 业务案例 业务中需要对各种类型的实体进行编号,例如对于x类实体的编号可能是x201712120001,x201712120002,x20171212 阅读全文
posted @ 2017-12-22 00:42 活在夢裡 阅读(49845) 评论(1) 推荐(11)
摘要:1. 背景 本文重点讲述MySQL中的预编译语句并从MySQL的Connector/J源码出发讲述其在Java语言中相关使用。 注意:文中的描述与结论基于MySQL 5.7.16以及Connect/J 5.1.42版本 。 2. 预编译语句是什么 通常我们的一条sql在db接收到最终执行完毕返回可以 阅读全文
posted @ 2017-07-06 09:36 活在夢裡 阅读(46078) 评论(6) 推荐(8)
摘要:1. 背景 在之前 "介绍MySQL执行计划的博文" 中已经谈及了一些关于子查询相关的执行计划与优化。本文将重点介绍MySQL中与子查询相关的内容,设计子查询优化策略,包含半连接子查询的优化与非半连接子查询的优化。其中非半连接子查询优化由于策略较少不作详细展开。 2. 子查询概念 子查询简单理解就是 阅读全文
posted @ 2017-06-15 02:14 活在夢裡 阅读(6998) 评论(0) 推荐(2)
摘要:1. 背景 在工作过程中,有时候会对慢查询进行调优。对于MySQL的SQL语句调优,MySQL本身提供了强大的explain关键字用于查询分析执行计划。 本文对explain执行计划进行分析与整理,文中的内容在未特别注明情况下, 以MySQL5.7版本为例 。 2. 简介 语法:从语法角度expla 阅读全文
posted @ 2017-03-20 03:36 活在夢裡 阅读(5495) 评论(0) 推荐(4)
摘要:前几天,阿里巴巴发布了《阿里巴巴Java开发手册(正式版》,第一时间下载阅读了一番。 不同于一般大厂内部的代码规范,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方面面都有所涉及。 在知乎上,也有关于这本开发手册的讨论十分热烈的帖子。 由于里面涉及的内容比较多,下面重点罗列下 阅读全文
posted @ 2017-02-13 21:51 活在夢裡 阅读(14341) 评论(0) 推荐(1)
摘要:公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对。发现了一个现象,用数字0筛选会把所有的记录给筛选出来。 经过排查发现是在MySQL查询语句中,'abc'如果和'0'比较结果显然是不等的,但如果'abc'和0比较呢?结果居然 阅读全文
posted @ 2017-01-31 10:09 活在夢裡 阅读(30237) 评论(1) 推荐(7)
摘要:最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容。 MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式 阅读全文
posted @ 2016-06-09 20:14 活在夢裡 阅读(1224) 评论(0) 推荐(0)
摘要:step 1. 从官网上下载MySQL Community Server step 2. 安装MySQL step 3. 配置mysql和mysqladmin的alias 注:根据自己习惯使用的shell配置相应文件 添加两行 step 4. 在安装完毕后,应该会有提示框显示如: A tempora 阅读全文
posted @ 2016-04-15 01:59 活在夢裡 阅读(228) 评论(0) 推荐(0)