gpt4 book ai didi

sql-server -> 1M 行 x 150 个字段的 Matlab fastinsert

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:34 27 4
gpt4 key购买 nike

如何将 100 万行乘以 150 列从 Matlab 矩阵插入到 SQL 表中。 Matlab 的 Fastinsert 似乎不足以解决这个问题,因为它需要很长时间。我们目前正在使用 SQL 服务器数据库。

我们当前的流程是将矩阵写入 CSV/.txt,然后通过 SSIS/dts 包将此 csv 加载到表中。现在我们希望削减这个过程并直接写入 SQL 表。

最佳答案

看起来最快的方法就是实际构造一个大的插入语句。

example given这里声称这可以导致 100 倍的加速。

%% Upload using an INSERT statement

% clear the table
exec(db,deleteQuery);

% transpose the data
allData2 = allData';

% format the input values
values = sprintf('(%f,%u,''%s''),\n',allData2{:});

% change NaNs to NULLs
values = regexprep(values,'NaN','null');

% construct the SQL INSERT statement
insertQuery = sprintf('insert into %s (%s,%s,%s) values ',tableName,fields{:});
insertQuery = [insertQuery , values(1:end-2),';'];

tic
exec(db,insertQuery);
toc

考虑到数据的大小,您可能希望将其分成更小的部分,但仍然可以获得比目前更快的速度。

关于sql-server -> 1M 行 x 150 个字段的 Matlab fastinsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25868028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com