0
私はJDBCドライバを使用して、MATLABからsqliteデータベースに接続します。matlab sqliteデータベースの性能
function db_conn = openDBConnection(sqldb_obj, configOptions)
try
sqldb_obj.dbConn = database(sqldb_obj.dbName, sqldb_obj.userName, sqldb_obj.password, sqldb_obj.JDBC_SQLITE_DRIVER, sqldb_obj.DB_URL);
db_conn = sqldb_obj.dbConn;
catch runtimeError
end
end
実行する前にこのOpenConnectionメソッド()が呼び出されるたびに():私はこのようになり、データベースを開くための関数を定義します。
function result = execute(sqldb_obj, sql_statement, varargin)
sqldb_obj.openDBConnection();
curs = exec(sqldb_obj.dbConn, sql_statement);
if curs.ResultSet ~= 0
curs = fetch(curs);
if rows(curs) == 0
result = [];
else
result = curs.Data;
end
else
% for the insert query
result = curs.Data;
end
% Disconnect the database connection
close(curs);
end
forループにテーブルを挿入すると、パフォーマンスが非常に低下します。プロファイラから、私は関数com.mathwork.toolbox.database.closeTheDatabaseConnection
のために754.595秒かかります。
パフォーマンスを改善する方法と問題はどこにありますか?
ありがとうございました。
すべてのクエリでデータベースを開いているのはなぜですか? –
データベースを一度しか開くことができません。あなたは私に良い事例を紹介できますか?ありがとう。 – susanne