
mysql
是guava不是瓜娃啊
这个作者很懒,什么都没留下…
展开
-
mysql事务隔离级别探险
阅读完本章你能学到什么• 了解到mysql中的几种日志和它的作用• 加深对mysql事务隔离级别的理解• 现代互联网企业会选择什么样的隔离级别先来思考几个问题mysql的4种隔离级别都有什么问题?mysql的默认隔离级别是哪一种?为什么和其他主流数据库入:oracle和sqlserver不一样?现代互联网企业到底应该选择哪一种隔离级别?关系型数据库(RDBMS)中事务的ACID...原创 2019-12-20 17:32:35 · 783 阅读 · 3 评论 -
怎么肥四?mysql联合索引的最左原则失效了???
最近新工作忙活告一段落,开始着手梳理老系统的业务逻辑写成文档,没想到看到了祖传代码:存储过程。虽然我没写过存储过程不过好在我sql功底不错,也能看得懂,我把存储过程的sql整理出来,发现有一断sql慢查询严重,经过EXPLAIN分析发现有一小段sql扫描了全表,心里想着难道没给这个字段加索引?于是看看对应的表发现虽然没有专门为这个字段加索引,不过这个字段有组合索引,了解过组合索引的同学知道有个...原创 2019-11-07 11:40:11 · 810 阅读 · 1 评论 -
mysql日志打印时间与系统时间差8h--------坑爹参数log_timestamps
最近在玩docker,轻量级的操作真是棒棒哒,恨不得所有软件都装上去,想重启就重启想删就删,想下载就下来,而且速度还很快。可是我在拉下来mysql5.7的镜像后,启动时发现2个小问题:我用sqlyog工具连上容器的mysql时,select now();发现时间比当前时间晚8h。mysql启动日志时间比当前时间晚8个小时。很明显当前时间是东八区,是CST时间,mysql是UTC时间一开...原创 2019-07-05 10:39:44 · 3007 阅读 · 0 评论 -
mysql事物sql语句死锁,定时任务启动失败Lock wait timeout exceeded;try restarting transaction
把定时任务quartz配置mysql里多台机器启动时可能会出现数据库死锁,然后控制台报错:Lock wait timeout exceeded;try restarting transaction项目启动失败,这时候只需要去mysql中查两个语句,然后杀掉对应的死锁线程就行:1.查询mysql所有正在执行的sql,看到query就说明是正在执行的,有时候慢查询导致程序卡住无响应也可以这么查...原创 2019-04-10 14:41:44 · 1986 阅读 · 0 评论 -
mysql递归查询所有下属员工函数以及find_in_set函数
今天做一个页面查询时有个需求是:不同人查看当前页面的数据量不一样,数据量的规则是,上级能看到所有下级员工的数据,也就是底层员工只能看到自己的数据。所以写sql时where条件那块的数据创建人是一个动态集合,而这个动态的集合该怎么写呢?因此写了个传入父id查询所有子id的mysql函数,同样适用于,菜单查询,组织机构查询等等上下级关系的递归查询。DELIMITER $$USE `loan...原创 2018-09-04 13:59:00 · 4185 阅读 · 1 评论 -
Mysql5.7.10版本安装后空密码登录,退出后提示密码错误连接不上解决
这篇博文必须趁热打铁现在写,因为坑了我好几小时到半夜才解决。 几个小时前去mysql官网下载了最新版的mysql5.7.10,发现是个压缩包,不是以前的安装文件了,于是百度找了下安装方法: 这里我在表述一遍: 1:配置环境变量: 先把解压后的bin目录路径复制出来,配置一下环境变量,编辑path把bin目录路径丢进去。 2:初始化MySQL: 打开cmd,进入bin目录,执行代码:mys原创 2017-02-12 00:32:35 · 3000 阅读 · 0 评论 -
MySql 自造自增序号
select @y:=@y+1 id,a.* FROM ( select id uid,name,sex from usr ) a,(select @y:=0)b ps: 1.其中uid是usr表真正的主键,而id是我自己自造的 2.有个问题,如果前台分页查询时候翻到第二页,自造的这个id就会从1开始,与上一页不连续原创 2017-02-10 18:00:19 · 809 阅读 · 0 评论 -
MySql自造自增序列
SELECT @y:=@y+1 id,a.* FROM (SELECT id,NAME FROM usr)a,(SELECT @y:=0) b原创 2016-12-06 11:32:31 · 434 阅读 · 0 评论 -
mysql数据库常见优化方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is null;可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询:Sql 代转载 2016-11-11 17:46:12 · 315 阅读 · 0 评论 -
MySQL数据库的数据类型和索引介绍
数据库有没有建过索引? 没有。 居然没有建过索引,查询难道不用索引么!!!数据库的数据库索引对程序员来说是透明的,意味着数据库建立索引之前和之后,你的SQL语句都可以正常运行,索引的运用只是数据库引擎工作时候的优化手段。但是,这不是意味着数据库索引仅仅是数据库设计和运维者的事情,对于一个程序员如果对数据库已有的索引有所了解,还是可以大大优化程序员数据库的查询和修改语句执行效率的,以免你的低效查询语句转载 2016-09-27 19:28:42 · 416 阅读 · 0 评论 -
MySql查询字段多行变一行小技巧(巧用mysql函数)
在很多场景中我们用到一对多查询时候会返回很多条记录,但是我们前端展现往往希望把这多条记录的某个字段拼接成一个字符串放在某个地方显示,这时候我们大多做法是在查询到List<User>便利出来然后用StringBuilder拼接起来放在一个属性里面(names)返给前端,前端在把这个拼接好的字段做显示。但是可但是今天发现一个mysql的奇淫技巧,可以自动返回拼接好的字符串。id name1原创 2016-07-23 19:40:15 · 6251 阅读 · 0 评论 -
MySql 按记录查询使用distinct去重的小技巧
user表中有几条记录,主键id是自增的,名字有部分记录是重复的:id name 1 张三2 李四3 王五4 张三5 李四当我们想按名字去重的时候sql很好写。select distinct u.name from user u;name 张三李四王五但是当我们按整条记录查的时候怎么写呢?因为记录里面id不重复所以去重不原创 2016-07-22 12:03:54 · 1619 阅读 · 1 评论 -
Mybatis if条件 模糊查询非利用example扩展类
介绍背景:有一个user对象包含id,name,age,deptId(部门外键) 4个字段。 当我们想简单的利用mybatis进行user名字模糊查询时候,我们可以利用Criteria类简便的进行模糊查询:public List<User> loadByName(String name) { UserExample example = new UserExample(); emam原创 2016-07-01 14:29:18 · 3332 阅读 · 0 评论 -
MySql 改变表中已有字段的长度
已有test表,表中字段msg原有长度为100,现在要扩大长度到1000:ALTER TABLE test MODIFY COLUMN msg VARCHAR(1000);原创 2016-06-21 20:41:45 · 1418 阅读 · 0 评论 -
MySql 为表中已有字段设置默认值
已有test表,表中有个case_status字段,现在给该字段设置默认值为A:ALTER TABLE test ALTER COLUMN case_status SET DEFAULT 'A';原创 2016-06-21 20:40:23 · 28039 阅读 · 1 评论 -
MySQL数据库为已有表主键设置自增且初始值为1000
假设已有表test为表设置自增sql:ALTER TABLE test MODIFY `id` INT UNSIGNED AUTO_INCREMENT;为主键设置初始值1000:ALTER TABLE test AUTO_INCREMENT = 1000;原创 2016-06-06 11:45:33 · 1855 阅读 · 0 评论