再议 InnoDB 是行级锁?从一条 update 语句引起的死锁问题来拯救你!
herman 6年前 (2019-01-02) 5637浏览
90% 的程序员都认为 innodb 是行级锁,但实际上使用不当,它也是表级锁! 看过我博客的网友都知道,我之前写过一篇文章《MySQL InnoDB存储引擎select和update查询阻塞insert语句,形成表级锁》。拯救过不少人,今...
herman 6年前 (2019-01-02) 5637浏览
90% 的程序员都认为 innodb 是行级锁,但实际上使用不当,它也是表级锁! 看过我博客的网友都知道,我之前写过一篇文章《MySQL InnoDB存储引擎select和update查询阻塞insert语句,形成表级锁》。拯救过不少人,今...
herman 6年前 (2018-12-29) 29772浏览
为什么写这篇文章呢?因为我不想让大家在错误下去! 昨天 CSDN 正在进行一个 2018 年的博客之星活动,入围了 200 名的博客专家!大家正在讨论说 2018 年博客之星页面有 bug 的问题时,有一位网友发了一张图片,一条 SQL 查...
herman 6年前 (2018-12-11) 4313浏览
接上一篇,我解释了为什么 EXPLAIN 估算 ROWS 不准确?并且解释了 ROWS 的计算原理。本文,我们在来说一下,ROWS 计算不准确,有没有替代方案? 替代方法肯定有,看标题,注意标题。接下来,我们说说 SHOW STATUS。 ...
herman 6年前 (2018-12-11) 5711浏览
今天微信群里一位网友发了一个问题:“mysql 根据时间进行过滤,查询速度特别慢,需要 30 多秒”。然后我问她,数据库中总数据量大概是多少,她告诉我 explain 执行结果中的 rows 显示有 100 多万条。我告诉...
herman 6年前 (2018-12-04) 2587浏览
每一个看似没有简单的系统,背后都有强大的技术在支撑。比如,我们咋淘宝购物,买一件商品你只需要点点手指。但是背后却发生了很多运算,据说你购买一件商品产生的能量可能够用来煮熟一个鸡蛋了。那么说到 MySQL,你执行一条 Select 语句,背后最终发...
herman 6年前 (2018-11-29) 8999浏览
MongoDB 的 Java 操作中,最重要的一个类就是 com.mongodb.client.model.Filters(过滤器)。我们的很多查询,条件筛选都是通过它实现。比如:eq、ne、gt、lt、gte、lte、in、nin、and、or...
herman 6年前 (2018-11-28) 6487浏览
MongoDB 作为一个分布式文件存储的数据库使用的人越来越多。它里面包含很多内置的角色和权限,本文来介绍一下它的权限设计和使用。 在介绍 MongoDB 的权限管理之前,我们先来回顾一下目前比较流行的权限管理方案。 上图是目...
herman 6年前 (2018-11-28) 45428浏览
随着 MongoDB 的火热,越来越多的开发者和企业在使用 MongoDB。但是正因为 MongoDB 的火热,企业内部使用的 MongoDB 的版本可能都各不相同。那么如何查看 MongoDB 版本号呢?本文教你的三种方法来查询你正在使用的 M...
herman 6年前 (2018-11-23) 4381浏览
最近我有幸参与了华为云数据库限时有奖评测!本文说一下我个人对华为云数据库的使用感受! 首先呢?我是在 CSDN 上看到了一个关于华为云数据库限时有奖评测的活动,奖品还不错,于是就抱着试试的心态参加一下! 然后我就按照要求报名了。第二天...
herman 7年前 (2018-09-17) 5002浏览 0评论
锁不管是在工作中还是生活中都到处存在。在编程的世界中,也是普遍的存在,用不好,会产生很多麻烦问题。 前两天有一个网友在群里问我 synchronized 锁的问题,当时没怎么细说,以后有时间了来写篇文章。本文主要是介绍借用数据库的悲观锁来实...
herman 7年前 (2018-09-14) 3315浏览 0评论
事务的隔离性是一个一说就明白,一讲就糊涂,一讨论就吵架的话题。很多人对概念记得很牢,但是你让他们解释一下,脏读、不可重复读、幻读,他们却解释不出来,尤其是不可重复读和幻读两种搞不清或者搞混淆。其实它们很简单,可能就是你的方法没找对。 数据库...
herman 7年前 (2018-09-12) 6643浏览 0评论
如题,你真的懂 select count(*) 吗?很多面试者或者高级开发工程师都会说不要用 count(*),这样写查询会比较慢。count(1) 比 count(*) 快,这样说真的对吗?且听本文来讲解,我们一起来较真儿! 在某些时候,...
herman 7年前 (2018-09-12) 7410浏览 0评论
前面有一篇文章说到了,InnoDB 的 select 查询会锁表,有的人不信。然而有的人学习能力很强,立马在官方网站上找到了,select 查询会锁表,就看你怎么使用,并不是说所有的 select 查询都会锁表。具体看你的事务隔离级别,和编写的查...
herman 7年前 (2018-09-10) 4160浏览 0评论
大约在两个月前,有同事在使用 Select 查询语句的时候,发现整张表被锁了,导致日志中经常出现 time out 异常。当时我判断是 select 不可能锁表的,而且更不可能锁整张表。直到今天我抽出时间查询资料,才发现不仅 Select 会锁整...
herman 7年前 (2018-08-29) 4080浏览 0评论
今天在使用 Mysql 中的一个 datetime 字段时碰到了一个 Cause: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represent...