![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 61
gentlezuo
热爱技术,喜欢思考与分享
展开
-
druid连接池RemoveAbandanded导致的性能问题
DB driuid连接池 removeAbandanded 配置导致CPU使用率飙高单机压测发现请求QPS不高也很吃CPU,通过观察火焰图和热点代码发现是获取DB连接池的问题。DB连接池底层使用了driuid,并且将removeAbandanded默认配置为true。在com.alibaba.druid.pool.DruidDataSource#getConnectionDirect中有一段逻辑if (removeAbandoned) { StackTraceElem原创 2021-09-19 15:29:22 · 807 阅读 · 0 评论 -
数据迁移:双写调研
注:没有实践过,完全是为了学习目的目的:将A库中N张表中的数据迁移到B库的M张表中,在B库中做分表操作。在迁移过程中要求不停服。方案方案:双写具体流程在B库中建表,在代码中实现双写的开关以及功能(读老库,增删改老库和新库)由于只读老库,所以新库中的功能实际上未对外提供数据,即使期间新库数据存在问题,依旧不影响服务功能新增操作:老库和新库都新增,因此新增的数据新老库是一致的。(新老库自动生成的主键不一致问题,可以先插入老库,得到id,再插入新库,插入数据带上id)删操作:删除操作幂等,原创 2021-02-10 12:14:05 · 2047 阅读 · 1 评论 -
一次MySQL join执行错误分析
一次MySQL join执行错误分析文章目录一次MySQL join执行错误分析分析总结分析练习一道MySQL题目按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩分析:要获得学生的学号,姓名,因此需要student表要获得所有课程的成绩,需要score 和course表使用join获取所有课程的成绩,使用group by获取平均成绩使用order by desc排序sql:SELECT st.s_id "学号", st.s_name "姓名", avg( sc.s_s原创 2020-09-05 17:25:24 · 631 阅读 · 0 评论 -
MySQL索引合并的使用与原理
文章目录索引合并不足简介算法index merge intersection access algorithm(索引合并交集访问算法)执行流程必要条件index merge union access algorithm(索引合并并集访问算法)必要条件执行流程例子index merge sort sort-union access algorithm (索引合并排序并集访问算法)必要条件执行流程例子实战复现 intersect复现 union复现 sort-union复现因为组合索引没有完全覆盖而导致没有使用原创 2020-07-29 22:52:45 · 3273 阅读 · 1 评论 -
MySQL索引-看一篇就够了
文章目录常见的索引数据结构有序数组hash二叉树,红黑树lsm树b树b+树索引分类是否唯一是否聚集是否单列其他innodb中的索引前提b+树索引哈希索引全文索引索引管理索引优化MRR(Multi-Range Read)优化Index Condition Pushdown(ICP)优化descending indexes(降序索引)使用索引扩展(use of index extensions)实践优化器不使用索引的情况自增主键联合索引唯一索引与非唯一索引的性能差别给字符串加索引常见的索引数据结构有序数组原创 2020-07-29 22:42:10 · 221 阅读 · 0 评论 -
谈谈时间序列数据库
文章目录什么是时间序列数据时序数据格式时序数据的应用场景时间序列数据的特点常见时序数据库对比opentsdbprometheusinfluxdb设计一种时序数据库功能点存储读写流程分布式存储其它本文转自https://gentlezuo.github.io/2019/11/12/%E8%B0%88%E8%B0%88%E6%97%B6%E9%97%B4%E5%BA%8F%E5%88%97%E6%9...原创 2019-11-12 21:05:52 · 8544 阅读 · 0 评论 -
Redis对象与持久化
原文章地址Redis对象与持久化Redis使用5种对象来实现键值对数据库:字符串,列表,哈希,集合,有序集合对象。使用这么多对象方便了在不同情景下的使用。对象的类型与编码typedef struct redisObject{ //类型 unsigned type:4; //编码 unsigned encoding:4; //指向底层数据结构的指针 ...原创 2019-05-23 22:32:06 · 269 阅读 · 0 评论 -
Redis简介&数据结构
Redis简介&数据结构文章原地址简介Redis是一个开源的key-value数据库,基于内存,使用c语言编写,因此它很快。适合作用于缓存。Redis支持数据的持久化提供多种数据结构:String,hash,list,set,zset五种对象Redis的所有操作都是原子性的数据结构SDS(简单动态字符串)结构struct sdshdr{ //已使用的字...原创 2019-05-23 19:19:01 · 155 阅读 · 0 评论 -
Redis多机数据库
Redis多机数据库原文章地址复制数据库状态一致:主从服务器中的数据库中保存相同的数据库。为了保证这种一致性,可以使用复制的方法。在Redis中可以使用 slaveof 命令让一个服务器复制另一个服务器,也就是让从服务器去复制主服务器。方式psync命令:完整重同步:处理初次复制的情况,完整重同步是指主服务器的数据库生成RDB文件和在生成RDB文件期间缓存的命令,并发送给从服务器。...原创 2019-05-25 10:55:45 · 144 阅读 · 0 评论