За да намерите времето за изпълнение , трябва да инициализирате обект за дата в началото на програмата и след това да го сравните с друг обект за дата в края на програмата. Това ще ви даде цяло число за това колко време е отнело изпълнението. След това използвайте този int, където имате нужда (напр. отпечатайте го в конзолата, във файл и т.н.)
Date startDate = new Date();
//Run the rest of the program
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();
Ако не е необходимо да правите нищо в програмата Java, свързано с резултатите от вашата заявка, можете да запазите това доста просто, като използвате runtime.exec()
за да може mysql да изпълнява заявките. Единственият основен недостатък тук е, че не можете да отпечатате получения брой засегнати редове:
Date startDate = new Date();
runtime.exec("mysql db_name < /home/liova/download/tpch/queries/Q1.sql");
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();
Ако наистина трябва да направите нещо с резултатите, тогава runtime.exec()
няма да ви стигне. Прочетете...
За да прочетете източника на SQL , просто го прочетете като текстов файл. Ще бъде най-лесно, ако имате всеки ред от SQL като отделна SQL заявка, тъй като в противен случай ще трябва да направите някои анализи и корекции. Ето един пример за четене на файл ред по ред.
За да стартирате SQL , използвайте JDBC. Ето урок върху него. Елементите от 1 до 5 ще описват подробно всичко, от което се нуждаете за стартиране на sql и използване на резултатите (от установяване на вашата sql връзка до изпълнение на заявката до обработка на обекта resultSet, който се връща). Ако някоя от тези стъпки ви създава проблеми, най-добре е да зададете отделен въпрос, съобразен с конкретния проблем, който имате в процеса.