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

JavaEE

专栏作者
187
文章
207658
阅读量
48
订阅数
MySQL窗口函数的妙用
create table grade ( id int(10) primary key auto_increment comment '主键', stu_id int(10) comment '学生id', class_id int(10) comment '班级id', course_id int(3) comment '课程id', score int(3) comment '学生分数', unique key (stu_id, course_id) ) engine = innodb charset = utf8; insert into grade (stu_id, class_id, course_id, score) values ('1', 1, 1, 90), ('4', 1, 1, 90), ('7', 1, 1, 84), ('10', 1, 1, 84), ('13', 1, 1, 88), ('1', 1, 2, 67), ('4', 1, 2, 85), ('7', 1, 2, 90), ('10', 1, 2, 88), ('13', 1, 2, 86); insert into grade (stu_id, class_id, course_id, score) values ('2', 2, 1, 83), ('5', 2, 1, 94), ('8', 2, 1, 81), ('11', 2, 1, 91), ('14', 2, 1, 79), ('2', 2, 2, 99), ('5', 2, 2, 80), ('8', 2, 2, 82), ('11', 2, 2, 76), ('14', 2, 2, 66); insert into grade (stu_id, class_id, course_id, score) values ('3', 3, 1, 98), ('6', 3, 1, 92), ('9', 3, 1, 76), ('12', 3, 1, 73), ('15', 3, 1, 83), ('3', 3, 2, 95), ('6', 3, 2, 91), ('9', 3, 2, 86), ('12', 3, 2, 87), ('15', 3, 2, 68); 这里就是建立了一个成绩表,然后往表中插入了15个学生,他们来自三个班级,每个学生学习了两门课程。
贪挽懒月
2023-03-09
9350
缓存一致性问题
为了提升服务的性能,我们一般会把热点放进缓存,那么这些热点数据就同时存在于数据库和缓存中,缓存中的数据和数据库中的数据要保持一致,这便是缓存一致性问题。
贪挽懒月
2022-12-25
2810
业务处理成功,发送MQ失败?
比如有个抢购,用户服务点击抢购,订单服务先返回排队中,订单服务处理完了之后肯定是通过MQ异步通知去支付的。现在的问题是,发MQ告诉用户抢去付款这个操作是在订单相关操作(比如扣库存,订单入库等)的事务提交之前还是之后呢?如果是之前,那如果事务回滚了就会出现用户付了钱但是订单没入库的情况;如果是之后,那就可能会出现订单入库了但是没通知用户去付款的情况。
贪挽懒月
2022-11-18
7580
java面试题 --- MQ
1. 什么是 MQ,有什么作用? MQ 就是消息中间件,它的作用有异步,解耦,削峰。 ---- 2. 市场上有很多 MQ 产品,我们要如何选择? 常见的 MQ 有 ActiveMQ,它是老牌的 MQ,性能不算太好;还有 RocketMQ,是阿里巴巴开源的 MQ,性能卓越,但是社区不活跃;RabbitMQ,性能十分强悍,社区活跃,唯一的缺点就是它不是 java 语言编写的,难以做二次开发;还有 kafka,一般用于大数据领域。我们可以根据自己的系统的并发量,以及是否要做二次开发等来确定使用哪种
贪挽懒月
2022-09-29
3460
java面试题 --- MySQL④
表中只有一个字段时 count(*) 效率最高,count(列名) 当列名是主键时,它的效率高于 count(1),其他情况 count(1) 效率更高。
贪挽懒月
2022-05-23
4900
java面试题 --- MySQL③
辅助记忆,诗曰: 全值匹配我最爱, 最左前缀要遵守; 带头大哥不能死, 中间兄弟不能断; 索引列上少计算, 范围之后全失效; 模糊百分写最右, 覆盖索引不写星; 不等空值还有或, 索引失效要少用; 字符引号不可丢, 牢记以上就无忧。
贪挽懒月
2022-05-23
2640
java面试题 --- MySQL②
辅助记忆,诗曰: 全值匹配我最爱, 最左前缀要遵守; 带头大哥不能死, 中间兄弟不能断; 索引列上少计算, 范围之后全失效; 模糊百分写最右, 覆盖索引不写星; 不等空值还有或, 索引失效要少用; 字符引号不可丢, 牢记以上就无忧。
贪挽懒月
2022-05-23
3560
java面试题 --- MySQL①
1. 对 MySQL 的架构了解吗? MySQL 主要分为连接层,服务层,引擎层和存储层。 连接层就是提供连接服务的,比如 JDBC 驱动; 服务层包括连接池、SQL 接口、解析器、优化器等; 引擎层就是真正负责数据读写的,innoDB 就属于引擎层; 存储层就负责将数据存储到文件系统。 ---- 2. MySQL 有哪些存储引擎?有什么区别? 常见的有 InnoDB 和 MyISAM。 InnoDB 支持行锁,表锁,事务,使用聚簇索引,写数据的效率比 MyISAM 更高。它有四个特性,插入缓冲,双
贪挽懒月
2022-05-18
3230
java面试题 --- Redis②
休眠一段时间再删的目的是,假如请求 A 进来先删了 Redis 中的数据,然后再还没来得及更新数据库的时候,请求 B 进来了,读取到的是数据库的旧数据;接着请求 A 更新完了 DB,再删 Redis;然后请求 B 再把读取到的旧数据写到 Redis 中,这样还是会导致数据库和 Redis 数据不一致。休眠一段时间就可以保证请求 B 能把读取数据库和写 Redis 的步骤执行完,执行完后请求 A 再去删 Redis,就可以把 Redis 中的旧数据删除。 所以休眠的时间应该大于请求 B 读数据库和写 Redis 的总时间。如果不是要求强一致性,不推荐这种做法,休眠一段时间体验不太好。
贪挽懒月
2022-05-13
2660
布隆过滤器
项目中的热点数据我们一般会放在 redis 中,在数据库前面加了一层缓存,减少数据库的访问,提升性能。但如果,请求的 key 在 redis 中并不存在,那请求还是会抵达数据库,这就叫缓存穿透。
贪挽懒月
2021-11-29
3510
MySQL主从复制
首先这主机和从机上安装MySQL,大家可以安装mariadb,更简单一点儿,安装命令如下:
贪挽懒月
2021-06-21
1.1K0
MySQL锁机制
从对数据的操作类型来分,可以分为读锁和写锁;从对数据操作粒度来分,可分为表锁和行锁。
贪挽懒月
2021-06-21
6850
MySQL show profile
是MySQL提供的可以用来分析当前会话中语句执行的资源消耗情况的工具,可以用于sql调优的测量。默认是处于关闭状态的,会保存最近15次的运行结果。
贪挽懒月
2021-06-02
6550
MySQL函数&存储过程
上一篇文章中说到了定位慢sql,拿到了慢sql后,我们要怎么重现问题呢?那么就需要造数据。函数和存储过程就可以帮助我们造大量的数据,用来重现生产环境的问题。
贪挽懒月
2021-06-02
2.6K0
MySQL慢查日志
监控系统监控到我们的程序变慢了,怀疑是sql的原因,要怎么去分析排查呢?一般按照如下几个步骤进行:
贪挽懒月
2021-06-02
8820
MySQL连接查询索引优化
首先没有使用索引,type是all,然后用了文件内排序,using filesort。这两个都是严重影响性能的,那么接下来就建索引。
贪挽懒月
2021-04-27
2K0
MySQL执行计划
它是一个关键字。我们知道我们写的SQL,执行之前要经过优化器的优化,所以我们写的SQL经过SQL优化器之后到底是怎么样的?这就可以通过explain关键字来查看。
贪挽懒月
2021-04-23
1K0
MySQL连接查询&索引介绍
但是MySQL执行的时候,并不是按顺序执行的,MySQL执行sql语句是从from开始执行的,上面这条语句的执行顺序是:
贪挽懒月
2021-04-12
2.3K0
MySQL架构介绍
上面提到了可拔插式,意思就是,你要给手机充电,你可以放在无线充上,也可以用充电头充,也可以用充电宝充。实现相同的功能,你可以选择不同的实现方式,并且这些实现方式之间互不关联互不影响。
贪挽懒月
2021-04-01
5100
如何设计一个秒杀系统
声明:本人并未参与过真正的秒杀系统设计,以下是本人学习笔记,自测通过,但可能并不完善,仅供参考,若用于生产出现问题,本人概不负责。
贪挽懒月
2020-08-11
3900
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档