58同城的 mysql 设计与使用军规
herman 6个月前 (08-08) 518浏览
一、基础规范 第一条:必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 第二条:必须使用utf8(utf8mb4)字符集 解读:万国码,无需转码,无乱码风险,节省空...
herman 6个月前 (08-08) 518浏览
一、基础规范 第一条:必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 第二条:必须使用utf8(utf8mb4)字符集 解读:万国码,无需转码,无乱码风险,节省空...
herman 3年前 (2022-05-01) 2207浏览
2 年前,我在 b 站上录制了一个视频,如何优雅的干掉 if else。我当时提出了“断言”+“短路”的形式,最直接的干掉 if else。很多人非常受益,今天我再整理成文字分享给大家! if else 是我们写代码时,使用频率最高的关键词之...
herman 3年前 (2021-11-05) 2553浏览
手把手教你解决MySQL服务启动失败排查并修复恢复启动问题 上次帮一个网友远程解决了一个问题,直接打赏了我,今天又一个网友打赏了我。 事件起因是这样的,网友在执行一条 SQL 时,提示错误。网友搜索得出答案,需要设置 sql_mode,...
herman 3年前 (2021-10-05) 1938浏览
一、缘起 假设你想给别人说明,Mysql 里面是有锁的,你会怎么做? 大多数人,都会开两个窗口,分别起两个事务,然后 update 同一条记录,在发起第二次 update 请求时,block,这样就说明这行记录被锁住了: MySQ...
herman 4年前 (2021-08-08) 2454浏览
今天我们一起来聊聊 MySQL 8.x 版本中新增的三大索引。MySQL 8.x 中新增了三种索引方式,如下所示。 隐藏索引降序索引函数索引 MySQL8新特性 一、隐藏索引 1.隐藏索引概述 MySQL 8.0 开始...
herman 4年前 (2021-01-31) 2261浏览
❝王争,前 Google 工程师,从事 Google 翻译、知识图谱等相关系统的开发,也是《数据结构与算法之美》专栏的作者,该专栏目前有 100,000 人已学习。❞https://time.geekbang.org/column/intro/10...
herman 4年前 (2020-11-17) 3908浏览
前言 每一个好习惯都是一笔财富,本文分 SQL 后悔药,SQL 性能优化,SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯和最佳实践! 写完SQL先explain查看执行计划(SQL性能优化) 日常开发写 SQL 的时...
herman 5年前 (2020-03-26) 2618浏览
熟悉 Oracle 的都知道 Oracle mvcc 里有一个概念:query restart,因此我 3 月份的时候发了一个微博! 我的回答:这是 MySQL MVCC 的一个设计缺陷: 虽然 SQL-92 规定了四种隔离级别...
herman 5年前 (2020-02-12) 2277浏览
聚合器微服务设计模式 这是一种最常用也最简单的设计模式,如下图所示: 聚合器微服务设计模式 聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对...
herman 5年前 (2020-02-06) 2622浏览
又到了一年的面试季,今年情况特殊,很多人可能都窝在家里,也有一些人准备找工作,但是疫情严重,也没企业发招聘信息。这个时候,最好的做法就是在家里刷面试题,今天给大家分享 21 个 MySQL 面试题。 1、Mysql中有哪几种锁? MyI...
herman 5年前 (2019-08-31) 4255浏览
和众多其他数据库产品一样,MongoDB 数据库的命名和设计也有一套规范。只不过,由于用的人不多,目前在业界还没有形成权威的共识,今天根据我个人平时的一些经验,总结了一些规范,不喜忽喷! MongoDB 数据库的命名、设计规范 第一部分...
herman 6年前 (2019-07-31) 2636浏览
在面试中,设计模式,源码、数据结构、框架原理、JVM、GC、中间件等一个也少不了,所有的这些东西都需要平时进行积累。我这里后面会做一个专题,把设计模式单独做成一个菜单,方便后面面试的各位网友。 设计模式之原型模式 在 Java 中创建对...
herman 6年前 (2019-06-09) 3440浏览
这是一道真真实实的阿里面试题:“请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决?” 哎,我原本以为认真学技术就可以了。但面试官的这个面试题还得让我关注明显恋情,不知道程序员单身居多吗? 话说一个合格的程序员,每看过一个系统...
herman 6年前 (2019-06-02) 4769浏览
前面我也写过一篇分库实战,很多读者讨论的很热烈。今天我在给大家实现一个分表的手把手实战。 在开始之前,我先啰嗦一点理论知识。说实话,我们每个系统并不是一上来就开始分表,分库。而是在数据量达到一定程度,且各种优化手段都使用过后,仍然存在系统瓶颈...
herman 6年前 (2019-05-17) 2413浏览
这个话题有点夸张,但其实也是非常现实的问题。你会增删改查,是不是就会了 MySQL 一个道理。 今天我要说的这个问题是,你会了 MySQL 的 Delete 语法,会写 delete 语句是不是就一定会删数据了?我们先来看一个例子。 你...