How to handle a database connection (mysql) in loops (for and parfor)?
2 views (last 30 days)
Show older comments
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 Comments
Taufik Sutanto
on 13 Oct 2013
I have been trying to do this too ... However, it seems that the JDBC driver is not supporting the parallel process.
TIANTIANBABA
on 17 Jan 2021
Did you find an anseer yet? It seems to me that exec and fetch can not work inside a parfor-loop.
Answers (1)
See Also
Categories
Find more on Database Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!