How to handle a database connection (mysql) in loops (for and parfor)?
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I already got a working code that does exactly this (see below). But I have to big problem that it is too slow. So I want to use that in parfor to speed it up and would be happy if you can give me hint of how to write the code using for parfor, many thanks.
%%"for-loop" version
db = 'my_database';
user = 'matlab';
password = '1234';
host = '100.200.300.4';
conn = database(db, user, password,'com.mysql.jdbc.Driver',['jdbc:mysql://' host ':3306/' db]);
setdbprefs('DataReturnFormat','cellarray');
for i = 1:1000
SQL = ['SELECT * FROM `my_table`;'];
e = exec(conn,SQL);
e = fetch(e);
data = e.Data;
end
close(conn)
2 个评论
Taufik Sutanto
2013-10-13
I have been trying to do this too ... However, it seems that the JDBC driver is not supporting the parallel process.
TIANTIANBABA
2021-1-17
Did you find an anseer yet? It seems to me that exec and fetch can not work inside a parfor-loop.
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Database Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!