How to handle a database connection (mysql) in loops (for and parfor)?

2 views (last 30 days)
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
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
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.

Sign in to comment.

Answers (1)

Léon
Léon on 5 Jun 2013
No one got an idea? :-(

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!