240 发简信
IP属地:北京
  • Redis使用中的常见问题

    缓存穿透 缓存穿透指的是查询一个一定不存在的数据,由于不存在这个值,导致每次查询都会取DB上查询。 解决方案:缓冲一个空值在查询之前按照一定规则过滤掉不符合规则的肯定不存在的...

  • 数据库的事务

    ACID,事务应该具有的四个属性 Atomicity(原子性),一个事务是一个不可分割的工作单位,事务中包括的各个操作要么都做,要么都不做 Consistency(一致性),...

  • 120
    MySQL架构分析

    架构图 连接层 当MySQl启动(MySQL服务器就是一个进程),等待客户端连接,每一个客户端连接请求,服务器都会新建一个线程处理(如果是线程池的话,则是分配一个新的线程),...

  • 数据库的设计

    逻辑设计 数据库设计的三范式 第一范式:无重复的列数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 第二...

  • 120
    MySQL慢查询分析

    慢查询的定义 MySQL可以记录所有执行操作long_query_time参数设定的时间阈值的SQL语句的日志--满查询日志。该日志能为SQL语句的优化带来很好的帮助 默认情...

  • MySQL数据库索引

    索引的定义 索引是帮助MySQL高效获取数据的数据结构 索引分类 普通索引 : 即一个索引只包含单个列,一个表可以有多个单列索引 唯一索引 :索引列的值必须唯一,但允许有空值...

  • 120
    执行计划

    使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是怎么处理你的语句的。分析你的语句或者是表结构的性能瓶颈 语法 explain + sql语句 执...

  • SQL优化

    查询优化 尽量全值匹配尽量把索引里所有的列都匹配上(where) 最佳左侧原则如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列 不在索引...

  • 120
    线程安全的问题

    为什么会有线程安全的问题 在Java虚拟机中,每个线程 的操作都在自己的工作内存中,当要操作主内存中的数据的时候,会先将主内存的数据读取到线程工作内存.操作完成之后再写回到主...

  • 120
    线程安全的问题

    为什么会有线程安全的问题 在Java虚拟机中,每个线程 的操作都在自己的工作内存中,当要操作主内存中的数据的时候,会先将主内存的数据读取到线程工作内存.操作完成之后再写回到主...

  • 120
    线程安全的问题

    为什么会有线程安全的问题 在Java虚拟机中,每个线程 的操作都在自己的工作内存中,当要操作主内存中的数据的时候,会先将主内存的数据读取到线程工作内存.操作完成之后再写回到主...