V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  aizya  ›  全部回复第 2 页 / 共 2 页
回复总数  28
1  2  
2021-01-20 09:40:43 +08:00
回复了 polyang 创建的主题 程序员 打算从外包脱坑,大家有什么好的建议?
坚持一天提一个新主题,就可以脱坑了。
2020-12-22 16:22:40 +08:00
回复了 wunonglin 创建的主题 程序员 🎅ant-design 还会有圣诞彩蛋吗?
你的头像就有点意思。
结贴了, 最后是研究存储过程搞定了. 通过游标和临时表, 最终实现了功能.

伪代码:

```
DROP PROCEDURE IF EXISTS COMBINE_RESULT_SET;

CREATE PROCEDURE COMBINE_RESULT_SET()
BEGIN
-- 定义要在 DROP TABLE 的前面, 要显示在最前面
DECLARE s INT DEFAULT 0;
DECLARE TASKID INT(11);
-- 定义游标,并将 SQL 结果集赋值到游标中
DECLARE IDLIST CURSOR FOR SELECT ID FROM PL_TASK;

-- 声明当游标遍历完后将标志变量置成某个值
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;

-- SQL Error [1337] [42000]: Variable or condition declaration after cursor or handler declaration


DROP TABLE IF EXISTS USER_TEMPORARY;
-- 创建临时表
CREATE TEMPORARY TABLE IF NOT EXISTS USER_TEMPORARY(NAME VARCHAR(32), DESCRIPTION VARCHAR(225));
-- 打开游标
OPEN IDLIST;
-- 将游标中的值赋值给变量,注意:变量名不要和返回的列名同名,变量顺序要和 SQL 结果列的顺序一致
FETCH IDLIST INTO TASKID;

-- 当 S 不等于 1,也就是未遍历完时,会一直循环
WHILE s<>1 DO
-- 执行业务逻辑
-- INSERT INTO USER_TEMPORARY(NAME, DESCRIPTION) VALUES (SELECT USER_NAME, EMAIL FROM PL_USER WHERE PL_USER.ID = TASKID) ;
-- INSERT INTO USER_TEMPORARY(NAME, DESCRIPTION) VALUES (SELECT TASK_NO, TASK_TITLE FROM PL_TASK WHERE CREATE_BY = TASKID) ;
INSERT INTO USER_TEMPORARY(SELECT USER_NAME, EMAIL FROM PL_USER WHERE PL_USER.ID = TASKID) ;
INSERT INTO USER_TEMPORARY(SELECT TASK_NO, TASK_TITLE FROM PL_TASK WHERE CREATE_BY = TASKID) ;
-- 将游标中的值再赋值给变量,供下次循环使用
FETCH IDLIST INTO TASKID;
-- 当 S 等于 1 时表明遍历以完成,退出循环
END WHILE;
-- 关闭游标
CLOSE IDLIST;
SELECT * FROM USER_TEMPORARY;
END

CALL COMBINE_RESULT_SET();


```
@ysoserious 非常感谢, 存储过程感觉也不好写. 我先找找存储过程有没有类似代码的处理方式, 先查主表,然后循环主表内容查子表,然后再拼接..
2020-07-24 21:57:12 +08:00
回复了 aizya 创建的主题 问与答 线上每天某个时间段频繁 FGC,导致 CPU 异常高
@tonniky 主要是通过 jstat -gc 命令观察 fgc 太频繁,最终还是通过 MAT 找到出现内存泄露了. 这个日志 ParOldGen 在 FGC 前后基本上没有变化, 表示内存被某个东西占用了,没法释放.
2020-05-18 10:46:54 +08:00
回复了 aizya 创建的主题 问与答 线上每天某个时间段频繁 FGC,导致 CPU 异常高
@Jooooooooo 问题解决了,谢谢你, 用 MAT 分析后发现问题了.
2020-05-16 17:52:56 +08:00
回复了 aizya 创建的主题 问与答 线上每天某个时间段频繁 FGC,导致 CPU 异常高
@Jooooooooo GC log 能看出什么原因吗

gc log 如下所示:

```
[Full GC (Ergonomics) 3881881K->2889968K(4038144K), 4.5727780 secs]
[Full GC (Ergonomics) 3881681K->2889026K(4038144K), 3.0774469 secs]
[Full GC (Ergonomics) 3881614K->2888641K(4038144K), 2.2580244 secs]
[Full GC (Ergonomics) 3881614K->2887646K(4038144K), 4.2011123 secs]
17:46:48,926
[Full GC (Ergonomics) 3881614K->2887135K(4038144K), 2.7401695 secs]
[Full GC (Ergonomics) 3881612K->2886768K(4038144K), 4.0454051 secs]
[Full GC (Ergonomics) 3881612K->2887188K(4038144K), 2.3936678 secs]
[Full GC (Ergonomics) 3881608K->2887642K(4038144K), 4.0567923 secs]
[Full GC (Ergonomics) 3881918K->2886507K(4038144K), 4.6593080 secs]
[Full GC (Ergonomics) 3881783K->2886918K(4038144K), 4.0624945 secs]
17:47:38,528
[Full GC (Ergonomics) 3881782K->2865376K(4038144K), 0.8624403 secs]
[Full GC (Ergonomics) 3881694K->2865692K(4038144K), 2.9422862 secs]
[Full GC (Ergonomics) [PSYoungGen: 1085440K->69778K(1241600K)] [ParOldGen: 2796159K->2796144K(2796544K)] 3881599K->2865922K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 3.3878363 secs] [Times: user=71.81 sys=0.39, real=3.39 secs]
[Full GC (Ergonomics) [PSYoungGen: 1085440K->71060K(1241600K)] [ParOldGen: 2796144K->2796064K(2796544K)] 3881584K->2867125K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 4.3924844 secs] [Times: user=93.60 sys=0.58, real=4.40 secs]
17:48:10,361
17:48:13,784
17:48:13,831
[Full GC (Ergonomics) [PSYoungGen: 1085440K->78286K(1241600K)] [ParOldGen: 2796064K->2795878K(2796544K)] 3881504K->2874164K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 4.7109424 secs] [Times: user=101.27 sys=0.58, real=4.71 secs]
[Full GC (Ergonomics) [PSYoungGen: 1085440K->83326K(1241600K)] [ParOldGen: 2795878K->2795708K(2796544K)] 3881318K->2879035K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 4.0158977 secs] [Times: user=85.44 sys=0.50, real=4.01 secs]
[Full GC (Ergonomics) [PSYoungGen: 1085440K->82672K(1241600K)] [ParOldGen: 2795708K->2795707K(2796544K)] 3881148K->2878379K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 4.2606693 secs] [Times: user=90.71 sys=0.57, real=4.26 secs]
17:48:31,473
[Full GC (Ergonomics) [PSYoungGen: 1085440K->110615K(1241600K)] [ParOldGen: 2795707K->2795655K(2796544K)] 3881147K->2906270K(4038144K), [Metaspace: 238529K->238529K(1271808K)], 4.5355769 secs] [Times: user=96.77 sys=0.61, real=4.54 secs]

```
2020-04-20 17:07:52 +08:00
回复了 aizya 创建的主题 Linux Linux 服务器为什么运行一段时间之后时间会和真实时间有误差?
@Xusually 我这台服务器两个月慢了十个小时正常吗?
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3224 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 13:29 · PVG 21:29 · LAX 06:29 · JFK 09:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.