索引失效

数据量太大的时候不如走全表扫描,不用回表

类型格式不同导致索引失效

如 varchar 类型,查询条件未加单引号,会导致索引失效

in 和 or 在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描

阅读全文 »

explain 变种

  • explain extended 可以查询出 filter 的值,rows*filter/100 估算 explain 前一个表连接的行数
  • explain partitions 查询到 partitions 值,是否用到分区
  • show warnings 查询 mysql 内部优化后可能的语句
阅读全文 »

Redis 是单线程还是多线程

​ 单线程,6.0 后请求过程是多线程,实则键值对对写还是单线程

Redis 单线程还是这么快

  • 基于内存操作
  • 执行是单线程,没有线程切换开销
  • IO 多路复用机制
  • 高效的数据存储结构:全局 hash

Redis 核心数据如何用跳表存储

JPS

jps -l -v

比较常用的参数:
-q 只显示 pid,不显示 class 名称,jar 文件名和传递给 main 方法的参数

查看所有 java 项目

阅读全文 »

ReentrantLock(可重入的独占锁)

应用

  1. 解决多线程竞争
  2. 实现多线程的顺序执行
  3. 实现多线程等待 / 通知机制
阅读全文 »

用处

为每一个线程提供一个独立的变量副本,即多线程调用变量只调用自己的变量副本。

阅读全文 »

手写模拟

流程

  1. 创建 spring 容器

  2. 注册配置类(可以查询到参数配置,扫描路径等),刷新容器

阅读全文 »