性能分析工具的使用
性能分析工具的使用 在数据库调优中,我们的目标是响应时间更快, 吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式 1. 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图 整个流程划分成了观察(Show status)和行动(Action)两个部分。字母 S 的部分…
索引
索引 1. 概述 MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构 索引的本质:索引是数据结构。你可以简单理解为 “排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现 高级查找算法 索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相…
Linux
Linux 前言 服务器:一个用于独立运行项目的电脑 操作系统:windows、linux、ios、安卓、鸿蒙 linux:基于命令的操作系统,权限控制系统非常严格 windows:基于图形页面的操作(支持命令行操作CMD) 开源 / --> 根目录 root --> 超级用户 Linux(centos)操作系统会默认设置一个超级管理员…
存储引擎
存储引擎 1. 概述 为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL server的功能 把真实存取数据的功能划分为存储引擎的功能。所以在 MySQL server 完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的 API, 获取到数据后返回给客户端就好了 MySQL 中提到了…
逻辑架构
逻辑架构 1. 逻辑架构剖析 1.1 服务器处理客户端请求 首先 MySQL 是典型的 C/S 架构,即 Clinet/Server 架构,服务端程序使用的 mysqld 不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果是:客户端进程向服务器进程发送一段文本(SQL 语句),服务器进程处理后再向客户端进程发送一段文本(处理结果) 那…
数据链路层
数据链路层 1. 概述 1.1 基本概念 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路 数据链路层以帧为单位传输和处理数据 主机H1 到主机H2 所经过的网络可以是多种不同类型的 不同的链路层可以采用不同的数据链路层协议…
物理层
物理层 1. 基本概念 2. 传输媒体 传输媒体也称为传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。传输媒体可分为两大类,即导引型传输媒体和非导引型传输媒体 传输媒体不属于计算机网络体系结构的任何一层。如果非要将它添加到体系结构中,那只能将其放置到物理层之下 2.1 导引型传输媒体 在导引型传输媒体中,电磁波被导引沿着固体…
因特网
因特网 1.1 基本概念 网络(Network)由若干节点(Node)和连接这些节点的链路(Link)组成 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网络的网络(Network of Networks)” 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以…
类加载
类加载 1. 类文件结构 根据 JVM 规范,类文件结构如下: ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_pool[constant_pool_count-1]; u2 access_flags…
垃圾回收
垃圾回收 1. 如何判断对象可以回收 1.1 引用计数法 1.1.1 定义 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的 1.1.2 弊端 循环引用,A对象引用B对象,B对象引用计数+1,B对象引用A,A对象引用计数+1。当没有谁再引用他们,他们不能被…