Program Life
  • Introduction
  • Catalog
  • Part I - Language
    • 目录
    • Golang
      • go 知识点合辑
      • go mod 简介
      • recover & const 简述
      • 关于 nil 的一些事情
      • slice 底层结构
    • JS
      • js 零基础起步
    • Python
      • python 基础
  • Part II - Network
    • 目录
    • TCP与UDP 对比
    • http2
      • http/2.0 and http/2.0 in Go
    • Grpc
      • gRPC 客户端连接语义与API
      • gRPC over http/2
      • gRPC 的 go 拦截器
  • Part III - Database
    • 目录
    • 常见 DB 基础细节
    • High Performance Mysql, 3th Edition - 笔记
    • mysql 中的索引类型
    • 批量写入造成mysql访问慢问题追踪
  • Part Ⅳ - Devops
    • 目录
    • Docker
      • Docker 基础使用指南
    • Kubernetes
      • K8S网络之网络框架
      • K8S网络之service间通信
      • K8S网络之集群外访问service的方式
    • IPVS 在 k8s 中连接保持引发的问题
    • Linux 常用指令
    • Linux 内存缓慢增长问题
    • Linux 性能领域大师布伦丹·格雷格的工具图谱
  • Part Ⅴ - Bigdata
    • 目录
    • Machine Learn
      • PCA原理推导
  • Part Ⅵ - Algorithm
    • 目录
    • 常用算法列表
    • 分布式一致性协议简介
    • ARC 算法简述
  • Part Ⅶ - Design
    • 目录
  • Part Ⅷ - Skill
    • 目录
    • 关于沟通、交流
    • Google 技能评分卡
    • 架构之重构的12条军规
    • 驾考指南
    • 杂项
    • RNote
      • 代码重构培训(笔记)
      • 登高四书(笔记)
      • 番茄工作法图解(笔记)
Powered by GitBook
On this page
  • Mongo
  • Mysql

Was this helpful?

  1. Part III - Database

常见 DB 基础细节

Previous目录NextHigh Performance Mysql, 3th Edition - 笔记

Last updated 4 years ago

Was this helpful?

Mongo

  • cmds

      db.happygame_sdk.test.getIndexes();
      db.happygame_sdk.test.explain("executionStats").find({'playerid':'ad3e5eb8-a03c-5011-8f2d-ce32c2a7ab31'});

Mysql

  • 了解数据库的一些基本理论知识:

    • 数据的存储格式 (堆组织表 vs 聚簇索引表)

    • 并发控制协议 (MVCC vs Lock-Based CC)

    • Two-Phase Locking

    • 数据库的隔离级别定义 (Isolation Level)

  • 了解SQL本身的执行计划

    • 主键扫描 vs 唯一键扫描 vs 范围扫描 vs 全表扫描

  • 了解数据库本身的一些实现细节

    • 过滤条件提取

      • Index Key/Index Filter/Table Filter

    • Index Condition Pushdown

    • Semi-Consistent Read

  • 查看数据库空间占用:

      SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', 
          CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', 
          CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', 
          CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS 'Index Size',
          CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS'Total'
      FROM information_schema.TABLES WHERE table_schema LIKE 'weixin_game' order by Total desc;
  • 锁

    • 乐观锁、悲观锁(读锁、互斥锁)

    • mysql 死锁分析

innodb index types
where条件提取与应用浅析
Mysql查询语句使用select.. for update导致的数据库死锁分析