Если вы используете OS X, я рекомендую вам использовать время (используя командную строку в терминале) для измерения времени выполнения запроса. Это, безусловно, самый простой способ:
time printf "<your query>;" | sqlite3 databaseFile.db > /dev/null
Пример:
time printf "select * from blame;" | sqlite3 mydata.db > /dev/null
real 0m1.603s
user 0m1.167s
sys 0m0.112s
команда также работает под управлением Linux. Мы выводим вывод на/dev/null, чтобы избежать потери времени из-за сохранения/печати вывода.
Есть некоторые накладные расходы, связанные с открытием соединения с базой данных и загрузкой исполняемого файла, но это даст вам хорошую идею с точки зрения того, насколько дорого (с точки зрения времени) ваш запрос.
Вы можете получить представление о том, что накладные расходы, делая что-то вроде этого:
time printf ".schema" | sqlite3 mydata.db > /dev/null
Если вы хотите, чтобы получить лучшее понимание того, что происходит, я рекомендую вам посмотреть в команду объяснить. В sqlite3 сделать:
explain select * from table;
и вы получите полное объяснение SQLite операций рассчитывает сделать для вычисления запроса.
Доступ к базе данных из командной строки 'sqlite3' или вашей собственной программы? –