Go 协程池简易版 Go 这篇主要分享一个Go协程池的简单实现... package main import ( "fmt" "reflect" "sync" "time" ) func test1(args ...interface{}) (string, int) { fmt.
Go 底层原理概述 Go 这篇主要简单分享Go内存管理和协程调度相关: Go 堆栈解析 内存逃逸 make 和new 区别 Go GC GMP 协程调度模型 Go 堆栈解析 GO 进程的运行也需要堆栈内存,且Go 的运行是直接运行在操作系统上的,并没有如java 一样运行在虚拟机中,所以,Go的内存模型和C/C++ 上差别不
图解Go 数据结构 -- 概述 Go 这里主要是用示意图的方式去介绍Go 几个常见类型结构: string slice map sync.map channel context defer interface String string 源码中的定义 type stringStruct struct { str unsafe.Poin
MySQL学习日记 -- height availability PartII MySQL 这篇我们来回答几个问题: 如何在线上不应影响业务的情况下,进行数据迁移? 什么是分布式事务? 有那些分布式解决方案? MySQL 怎么实现分布式事务?那个容易落地? 怎么保障MySQL 高可用? 有那些开源分布式数据库中间件?
MySQL学习日记 -- height availability MySQL 本篇主要回答以下问题: 读写分离是什么? MySQL 提供了哪些复制模式?分别对应应用场景? 什么场景下需要读写分离? 怎么进行读写分离? 怎么避免主从复制延迟? 什么场景下需要分表分库? 分表解决什么问题?分库解决什么问题? 分表分库产生什么问题? 分库分表有什么样的拆分方式?分片键sharedk
MySQL学习日记 -- Performance SQL MySQL-Performance 这篇讲的是SQL 优化技巧。内容大概如下: explain 使用,如何分析一条SQL 查询是否走了索引? 索引优化示例 如何定位一条慢查询日志? SQL 语句优化示例 深分页优化方案讨论 索引优化示例 MySQL 调优 MySQL 连接池 小技巧 explain 使用 这里主要介绍的是explain
MySQL学习日记 -- 日志 MySQL-log 这篇我们分享MySQL 日志。会回答下面的几个问题: 事务持久性怎么实现的? 为什么需要redolog? binlog 、redolog区别在哪里? binlog、redolog、undolog 什么是两阶段提交? 两阶段提交过程? 为什么需要两阶段提交? 数据库备份? 事务持久性怎么实现的? My
MySQL学习日记 -- 索引的艺术PartI MySQL-Index 这是MySQL 学习日记的索引篇 ... 索引是什么? 索引使一种加快数据查询的数据结构。 索引分类 按数据结构分类: 树形索引 O(log2n) 哈希表索引O(1) 全文索引 按数据存储位置分类: 聚簇索引 非聚簇索引 为什么索引能加快查询? 因为索引是有序的,可以进行二分查找这是数据结构的天然优
MySQL学习日记 -- MySQL Innodb - Buffer Pool MySQL-engine 着篇我们来分享 innoDB buffer pool buffer pool 介绍 普通索引和唯一索引怎么选 (这其实说的是change buffer 利用...) InnoDB buffer pool 干什么的? 一句话概括,将磁盘数据和内存连结起来,批量管理I/O 提升读写性能。 buffer
MySQL学习日记 -- MySQL Innodb 引擎概述PartII MySQL-logic 这篇主要分享下面几个主题: char 和varchar 区别 InnoDB 中数据页的之间的关系是如何组织的 char 和 varchar 区别 MySQL :: MySQL 8.0 参考手册 :: 13.3.2 CHAR 和 VARCHAR 类型 --- MySQL :: MySQL 8.0 Re