摘要:
1. 数据库事务概述 1.1 存储引擎支持情况 SHOW ENGINES 命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。 能看出在 MySQL 中,只有InnoDB 是支持事务的。 1.2 基本概念 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务 阅读全文
摘要:
题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶 阅读全文
摘要:
1. 为什么需要数据库设计 我们在设计数据表的时候,要考虑很多问题。比如: 用户都需要什么数据?需要在数据表中保存哪些数据? 如何保证数据表中数据的 正确性 ,当插入、删除、更新的时候该进行怎样的 约束检查 ? 如何降低数据表的 数据冗余度 ,保证数据表不会因为用户量的增长而迅速扩张? 如何让负责数 阅读全文
摘要:
都有哪些维度可以进行数据库调优?简言之: 索引失效、没有充分利用到索引——建立索引 关联查询太多JOIN(设计缺陷或不得已的需求)——SQL优化 服务器调优及各个参数设置(缓冲、线程数等)——调整my.cnf 数据过多——分库分表 关于数据库调优的知识非常分散。不同的DBMS,不同的公司,不同的职位 阅读全文
摘要:
在数据库调优中,我们的目标是 响应时间更快, 吞吐量更大 。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。 1. 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了 观察(Show status) 和 行 阅读全文
摘要:
MySQL数据库默认连接为100 对于多人开发的单体项目来说,虽然我们同时在用的连接不会超过10个,理论上100 绰绰有余,但是除了我们正在使用的连接以外,还有很大一部分 Sleep 的连接,这个才是真正的罪魁祸首。 修改MySQL最大连接数量,首先查看当前 Mysql 最大连接数量是多少: sho 阅读全文
摘要:
同学们,在前两天我们学习了Linux操作系统的常见命令以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的同学以外,大多数同学都会有相同的感受,那就是麻烦。核心体现在三点: 命令太多了,记不住 软件安装包名字复杂,不知道去哪里找 安装和部署步骤复杂,容 阅读全文
摘要:
1. 简单介绍 在讲Spring IOC之前,有必要先来聊一下工厂模式(Factory Pattern)。工厂模式可将Java对象的调用者从被调用者的实现逻辑中分离出来。工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创 阅读全文
摘要:
意义及现状 在开发过程中,Git每次提交代码,都需要写Commit message(提交说明),规范的Commit message有很多好处: 方便快速浏览查找,回溯之前的工作内容 可以直接从commit 生成Change log(发布时用于说明版本差异) 目前我们并没有对commit messag 阅读全文