问题描述
我正在使用 Python 进行 sql Server 中不可用的计算。
在 Jupyter Notebooks 中,计算速度非常快(以 csv 作为源),但在 sql Server 中,单次计算需要 3 秒。由于我有成千上万的计算,这太慢了。
下面是我提供数据的存储过程的代码,这是一个波长和内插数据表。
ALTER PROCEDURE [dbo].[sp_polynomeSecondDegree]
@ToBeProcessed polynomeRegressionSource READONLY
AS
BEGIN
SET NOCOUNT ON;
IF OBJECT_ID('tempdb..##DataStart') IS NOT NULL
DROP TABLE ##DataStart
SELECT *
INTO ##DataStart
FROM @ToBeProcessed
EXECUTE sp_execute_external_script
@language = N'Python',@script=N'
import pandas as pd
from sklearn.preprocessing import polynomialFeatures
from sklearn.linear_model import LinearRegression
X = InputDataSet[["WaveLength"]]
y = InputDataSet.InterPol
pre_process = polynomialFeatures(degree = 2)
X_poly = pre_process.fit_transform(X)
pr_model = LinearRegression()
pr_model.fit(X_poly,y)
theta0 = pr_model.intercept_
_,theta1,theta2 = pr_model.coef_
OutputDataSet = pd.DataFrame({''a'':[theta0],''b'':[theta1],''c'':[theta2]} )
',@input_data_1 = N'SELECT * from ##DataStart'
WITH RESULT SETS (( a float,b float,c float))
END
经过一些消除后,我注意到如果是'普通'脚本,没有导入sklearn,它很快,但是一旦添加导入,就需要很长时间。
有没有办法永久加载这些库,或者在我开始这些计算之前加载这些库以使其更快?
或者这段代码没有意义,有没有更好(更快)的方法来处理这个问题?
提前致谢,
齐格
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)