MySQL Database interface

I do not have MATLAB's Database toolbox. I am accessing a database with the following:
The software apparently only outputs data in columns. I have 137 columns and individually writing out [A(:,1),A(:,2),...,A(:,137)] seems pointless. Using a loop is rather slow. Suggestions?

 Akzeptierte Antwort

Oleg Komarov
Oleg Komarov am 2 Aug. 2011

0 Stimmen

If you're referring to the LHS, then you can use:
[A{1,1:137}] = ...
After that, if the data is of the same datatype:
[A{:}]

11 Kommentare

Robert
Robert am 3 Aug. 2011
Both of those work and answer my question, but aren't very fast. Any suggestions?
Oleg Komarov
Oleg Komarov am 3 Aug. 2011
It depends on what you're doing on your RHS not the LHS and you haven't showed any part of that code. How big is the final A?
Robert
Robert am 5 Aug. 2011
It is 57000x137. The RHS is just calling the mysql database with the particular query I had written.
Oleg Komarov
Oleg Komarov am 5 Aug. 2011
60 MB are transferred which is not enough to justify signifcant slowdowns. Then it should depend on the query. Do you observe different timings if the query is executed directly on mySQL?
Also, you can try to run the command in the profiler and see what's taking the most time.
Robert
Robert am 11 Aug. 2011
To display the data, MySQL Query Browser takes 25 seconds, but in parentheses it says 0.38 seconds. I assume this is the read time. My read time in matlab is around 50 seconds.
Oleg Komarov
Oleg Komarov am 11 Aug. 2011
Have you tried to use the profiler to see why there's such a big difference in timings between MATLAB and mySQL?
Robert
Robert am 16 Aug. 2011
I'm not sure what the profiler is. Is it a gui that let's you view data statistics? I don't think I have the software.
Oleg Komarov
Oleg Komarov am 16 Aug. 2011
http://www.mathworks.com/help/techdoc/matlab_env/f9-17018.html
Robert
Robert am 16 Aug. 2011
The profiler indicates that all the time is spent in the mysql function.
Oleg Komarov
Oleg Komarov am 16 Aug. 2011
I guess this function is not an .m file, which means I cannot tell wether some manipulation is going on.
Try an alternative: http://www.mathworks.com/matlabcentral/fileexchange/?term=mysql
Or many use mym: http://sourceforge.net/projects/mym/
Robert
Robert am 17 Aug. 2011
It appears that most alternatives are based off of the version I'm using. Thanks for your assistance, but I think I'll just stick with my current setup.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by