Engineering Notes

孟斌的小站

技术博客与学习记录

共 608 篇文章 标签与分类索引已启用

MySQL数据导出

MySQL中的mysqldump和SELECT INTO OUTFILE都是用于数据备份和导出的工具,但它们在功能和使用上有一些不同之处。下面是对这两个工具的详细比较:

继续阅读

EXPLAIN的作用

什么是EXPLAIN?

EXPLAIN 是 MySQL 中的一个重要命令,它用于分析 SQL 查询语句的执行计划。EXPLAIN 的主要作用是帮助开发者理解查询语句的执行过程,以及查询优化器如何选择索引、表扫描方式等。通过分析 EXPLAIN 的输出结果,开发者可以找到查询性能的瓶颈,并对查询语句进行优化。

继续阅读

覆盖索引

1. 什么是覆盖索引?

MySQL覆盖索引(Covering Index)是一种索引类型,它的特点是索引包含了查询所需要的数据,从而避免了对数据的直接查找。通过使用覆盖索引,MySQL可以仅通过索引信息来满足查询条件,而不需要进一步访问数据表,这可以大大提高查询性能。

继续阅读

Raft 详解

1. Raft 简介

Raft 是一种共识算法,它确保在分布式系统中的多个节点之间达成一致性。Raft 的核心目标之一是保证数据在所有节点之间的同步。以下是 Raft 如何同步数据的主要步骤:

继续阅读

使用标准库 archive 处理归档文件

在 Go 语言标准库中,archive 包提供了用于处理归档文件(压缩文件和文件集合)的库。本文将详细介绍 archive/tararchive/zip 包,它们分别用于处理 tar 格式和 zip 格式的归档文件。

go
继续阅读

UUID 介绍

1. 什么是 UUID

UUID(通用唯一标识符)是一种用于标识信息的标准。UUID 的标准定义在RFC 4122中。UUID 主要有四个版本(版本1到版本4),每个版本都有其生成规则。

继续阅读

NoSQL 简介

NoSQL(Not Only SQL)数据库是一类非关系型数据库,它是一种不依赖于传统关系型数据库管理系统(RDBMS)的数据库管理系统。NoSQL数据库的设计目标是解决传统数据库在大规模、高并发、分布式等方面的一些问题,并提供更灵活的数据模型。以下是对NoSQL数据库的详细介绍。

继续阅读

Debug线上服务

对于已上线的 Go 服务,进行调试通常需要在代码中添加调试信息或者利用已有的日志系统。由于直接使用调试器可能会影响服务的性能或者稳定性,因此需要采用一些谨慎的方法。

go
继续阅读