首页
学习
活动
专区
工具
TVP
发布

小怪聊职场

专栏作者
115
文章
284786
阅读量
62
订阅数
消息通知系统设计文档
一、功能概述 1.不同的系统的消息,管理后台、小程序(B/C)、微信公众号、短信、邮件等 2.不同业务的消息,充值、提现到账、系统更新、公告等 3.消息明细,标题、简述、详情、已读未读状态 4.有效时间,失效时间 5.支持界面的接下来操作,跳转按钮 6.语音消息?图片消息?富文本消息? 二、设计方案 需要考虑三类应用场景 1.私有信息,需要告知多个服务平台,需要用到MQ进行解藕 2.私有信息,不需要告知多个服务平台,直接调用 3.公开信息,一份信息广播给大部分/所有用户时,比如网站公告、banner、活动、
黄小怪
2020-02-29
6.9K1
MySQL(九)|如何查看执行计划(Explain)
我们经常会使用Explain去查看执行计划,这个众所周知。但我在面试时问面试者,你用Explain主要是看什么?对方的回答大多是“查看是否有使用到索引”,很显然我对这个回答不太满意。 今天我们就来说一说Explain中的“Type”和“Extra”。
黄小怪
2019-07-27
2K0
JVM第一篇:一个Java内存泄漏的排查案例
最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》(第二版)这本书,理论+实践结合,深入浅出,强烈推荐给大家。 这两天在“小怪的java群”里面也对JVM内容进行了一个讨论,讨论的内容主要包括如下几个方面: 1)内存溢出和内存泄露的介绍? 2)如何排查和处理内存泄露? 一、内存溢出和内存泄露 一种通俗的说法。 1、内存溢出:你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。 2、内存泄漏:你用new申请了一块内存,后来很长时间都不再使用了(按理应该释放),但是
黄小怪
2018-06-06
8.1K0
MySQL(八)|MySQL中In与Exists的区别(2)
关于In与Exists的比较,先说结论,归纳出IN 和Exists的适用场景: 1)IN查询在内部表和外部表上都可以使用到索引。 2)Exists查询仅在内部表上可以使用到索引。 3)当子查询结果集很大,而外部表较小的时候,Exists的Block Nested Loop(Block 嵌套循环)的作用开始显现,并弥补外部表无法用到索引的缺陷,查询效率会优于IN。 4)当子查询结果集较小,而外部表很大的时候,Exists的Block嵌套循环优化效果不明显,IN 的外表索引优势占主要作用,此时IN的查询
黄小怪
2018-06-06
1.7K0
MySQL(七)|MySQL中In与Exists的区别(1)
最近被一条SQL语句弄的有点兴奋,具体情况是这样的... 我这边有两个表需要关联查询,表的情况如下: # 2759174行数据 SELECT COUNT(*) FROM tb_data t1; # 7262行数据 SELECT COUNT(*) FROM tb_task t2; # 执行时间为44.88s SELECT SQL_NO_CACHE t1.id FROM tb_data t1 WHERE t1.task_id IN (SELECT t2.id FROM tb_task t2); # 执行
黄小怪
2018-06-06
14.4K1
MySQL(七)|MySQL分库分表的那点事(小怪的Java群第一次话题讨论)
一、何谓分库分表? 把原本存储于一个库的数据分块存储到多个库(主机)上,把原本存储于一个表的数据分块存储到多个表上。 二、为什么要分库分表? 数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大。 另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。 三、分库分表的实施策略 分库分表有垂直切分和水平
黄小怪
2018-05-21
8340
MySQL(六)|《千万级大数据查询优化》第二篇:查询性能优化(2)
在上一篇文章MySQL(五)|《千万级大数据查询优化》第二篇:查询性能优化(1)中讲到一条SQL的查询执行路径如下图5-1所示: 图5-1 步骤如下: 客户端发送一条查询给服务器。 服务器先检查查
黄小怪
2018-05-21
9270
MySQL(五)|《千万级大数据查询优化》第二篇:查询性能优化(1)
MySQL优化一般是需要索引优化、查询优化、库表结构优化三驾马车齐头并进。 本章节开始讲查询优化。 一、为什么查询速度会慢 可以把查询当作一个任务,它由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上是优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行得更快。 MySQL在执行查询的时候有哪些子任务,这个是有一定的方法进行剖析的,具体方法下回单独拿一个章节来分析。 通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务端,然后在服务器上进行解
黄小怪
2018-05-21
1.6K0
MySQL(三)|《千万级大数据查询优化》第一篇:创建高性能的索引
MySQL优化一般是需要索引优化、查询优化、库表结构优化三驾马车齐头并进。 可以说,索引优化是对查询性能优化最有效的手段,索引能够轻易将查询性能提高几个数量级,“最优”的索引有时比一个“好的”索引性能要好几个数量级。创建一个真正“最优”的索引经常需要重写查询,所以索引优化和查询优化的关系很紧密。 本文是《千万级大数据查询优化》系列第一篇:创建高性能的索引。 我们先从一个面试题开始。 面试题: 如果有四条sql语句,查询条件分别是 where A=1 and B=1 and C=1. where
黄小怪
2018-05-21
1.3K0
MySQL(二)|深入理解MySQL的四种隔离级别及加锁实现原理
注:内容有点干,但希望你可以耐心地看完。回头我写一篇实操的文章帮助理解。 开发工作中我们会使用到事务,那你们知道事务又分哪几种吗? 以及不同事务隔离的加锁实现原理是什么? 一、首先什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种,当事务中的所有步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消事务开始时的所有操作。 二、事
黄小怪
2018-05-21
1.8K1
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档