DECLARE @id INT,
@maxid INT
SET @id=1
SELECt @maxid = Max(rownum)
FROM (SELECt *
FROM (SELECt Row_number()
OVER(
ORDER BY parent) AS rownum,
t.*
FROM (SELECt DISTINCT parent,
qushu
FROM A_RAZ t
WHERe EXISTS (SELECt 1
FROM member
WHERe CONVERT(VARCHAr(100), register_on, 23) = @v_date
AND member_num = t.member))t)a)b
WHILE @id <= @maxid
BEGIN
DECLARE @parent NVARCHAr(50),
@qushu INT
WITH temp
AS (SELECt Row_number()
OVER(
ORDER BY parent) AS rownum,
t.parent,
t.qushu
FROM (SELECt DISTINCT parent,
qushu
FROM A_RAZ t
WHERe EXISTS (SELECt 1
FROM member
WHERe CONVERT(VARCHAr(100), register_on, 23) = @v_date
AND member_num = t.member))t)
SELECt @parent=parent,@qushu=qushu
FROM temp
WHERe rownum = @id
IF @qushu = 1
BEGIN
DECLARE @left_a INT,
@left_b INT
SELECt @left_a = Isnull(Max(plvl), 0)
FROM A_RAZ t
SELECt @left_b = Isnull(Max(plvl), 0)
FROM A_RAZ t
IF @left_b > @left_a
BEGIN
INSERT INTO t_member_ceng
(partent,
ceng_a)
VALUES (@parent,
@left_b - @left_a)
END
END
sql server 这个循环为什么这么慢数据也不大(在线)
答案:2 悬赏:80 手机版
解决时间 2021-01-04 09:31
- 提问者网友:欲望失宠
- 2021-01-03 17:42
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-01-10 05:58
思路:
1、优化现有SQL语句
2、依据SQL语句中的条件增加相应类型的索引
3、可以使用临时表加速数据的处理
原则上来说,你要找到是因为IO消耗大,还是CPU消耗高,找到原因,才能对症下药
1、优化现有SQL语句
2、依据SQL语句中的条件增加相应类型的索引
3、可以使用临时表加速数据的处理
原则上来说,你要找到是因为IO消耗大,还是CPU消耗高,找到原因,才能对症下药
全部回答
- 1楼网友:酒醒三更
- 2021-01-10 07:03
使用附带安装的vs跟踪调试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |