数据调优,请经验丰富者帮我看看!

justxd justxd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
A表数据
col1 col2 col3 col4 col5
abcd lllls 123,456,789,123 myw 备注
我要将A表中的数据按col3中的数据进行拆分成多条
A表进行拆分后应该是
col1 col2 col3 col4 col5
abcd lllls 123 myw 备注
abcd lllls 456 myw 备注
abcd lllls 789 myw 备注
abcd lllls 123 myw 备注

我现在的拆分方法是:
1.将A表数据进行顺序编号插入一个临时表中
2.按编号循环访问临时表,进行拆分操作

下面是我的存储过程,欢迎大家提出保贵意见:
CREATE PROCEDURE getData
AS
BEGIN
/*用于记录A表进行编号的总行数*/
DECLARE @rowCount INT
/*用于记循环访问的位置*/
DECLARE @n INT
/*从第一条记录开始*/
SET @n=1

/*最终数据记录表*/
CREATE TABLE #tempData
(
numberId INT IDENTITY(1,1) NOT NULL PRIMARY key,
col1 varchar(20),
col2 varchar(20),
col3 varchar(20),
col4 varchar(20),
col5 varchar(20),
)
/*已编号,待拆分数据记录表*/
CREATE TABLE #tempLog
(
numberId INT IDENTITY(1,1) NOT NULL PRIMARY key,
col1 varchar(20),
col2 varchar(20),
col3 varchar(20),
col4 varchar(20),
col5 varchar(20),
)

INSERT INTO #tempLog SELECT A表
/*记录编号后的总行数*/
SET @rowCount=@@ROWCOUNT

/*存储待拆列数据*/
DECLARE @col3 VARCHAR(50)
/**************如果编号后的总行数大于0则有记录可拆(直观理解的意思是A表中有数据)***********/
IF @rowCount>0
BEGIN
WHILE @n<=@rowCount
BEGIN
/*****获取待拆字段的值*********/
SELECT @col3=col3 FROM #tempLog WHERE numberId=@n

/*將一倏數據拆成多倏*/
DECLARE @col1 varchar(20)
DECLARE @col2 varchar(20)
DECLARE @col4 varchar(20)
DECLARE @col5 varchar(20)

SELECT @col1=col1 FROM #tempLog WHERE numberId=@n
SELECT @col2=col2 FROM #tempLog WHERE numberId=@n
SELECT @col4=col4 FROM #tempLog WHERE numberId=@n
SELECT @col5=col5 FROM #tempLog WHERE numberId=@n
/*进行拆分*/
WHILE(charindex(',',@col3)<>0)
begin

INSERT into #tempData values (@col1,@col2,substring(@col3,1,charindex(',',@col3)-1),@col4,@col5)
set @col3 = stuff(@col3,1,charindex(',',@col3),'')
end
INSERT into #tempData values (@col1,@col2,@col3,@col4,@col5)
END

END
SELECT * FROM #tempData
END


终于写完了,如果数据有上百万数,拆分的话速度极慢,哪位哥们能帮我看看,有没有什么好点的办法。

...全文

相关推荐

Java 多线程环境下 volatile 的性能调优

多线程编程的核心挑战是“数据一致性”:多个线程同时操作共享变量时,如何避免“你改了我看不见”(可见性问题)或“操作顺序乱套”(指令重排问题)。volatile是 Java 提供的轻量级解决方案,但它的性能表现(如内存屏障开销、总线风暴风险)常被忽视。本文将聚焦volatile在多线程环境下的性能调优,覆盖原理分析、常见误区、实战优化技巧。本文将按照“问题引入→核心概念→底层原理→性能瓶颈→调优策略→实战案例”的逻辑展开。

AI应用架构探索者

TensorFlow超参数调优:让模型性能达到最优

想象你第一次学做蛋糕:按照食谱放了200g面粉、3个鸡蛋、100g糖,烤出来却又干又硬。妈妈告诉你:“不同烤箱脾气不一样,温度和时间得自己调调。” 深度学习模型也是如此——即使使用相同的网络结构,学习率、 batch size、正则化强度等"烤箱参数"设置不当,也会导致模型"烤焦"(过拟合)或"没熟"(欠拟合)。本文的目的就是教会你:如何像经验丰富的烘焙师一样,系统地调整TensorFlow模型的"烘焙参数"(超参数),让模型在有限资源下达到最佳性能。

AI大模型应用工坊

提升模型性能:特征工程与XGBoost调优实战案例

在机器学习与数据挖掘的世界里,特征工程作为一门核心的技艺,其重要性不言而喻。简单来说,特征工程是通过一系列技术手段,从原始数据中提取信息,并将其转换为模型可以有效利用的格式的过程。通过精心设计的特征,我们可以显著提高模型的预测性能,这对于复杂的业务问题尤为重要。本章节将概述特征工程的基本概念和原则,介绍它的关键步骤,例如特征选择、特征构造、特征提取等,以及这些步骤对于整个机器学习流程的影响。我们将讨论为什么特征工程对模型性能至关重要,以及如何通过特征工程提升模型的准确度、解释能力和泛化能力。

韦臻

JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requ

JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requirements

cdming

基于Matlab的自动睡眠粒状结构检测算法,从脑电信号中进行。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光
评论 14
收藏 已收藏
分享
返回顶部
justxd
疑难问题 22,298 成员 121,727 内容