O SQLite para Android tem um suporte embutido para isso.
Daqui:
/**
* Controls the printing of wall-clock time taken to execute SQL statements
* as they are executed.
*
* Enable using "adb shell setprop log.tag.SQLiteTime VERBOSE".
*/
public static final boolean DEBUG_SQL_TIME =
Log.isLoggable("SQLiteTime", Log.VERBOSE);
Portanto, para habilitar o rastreamento do tempo de execução, execute:
adb shell setprop log.tag.SQLiteTime VERBOSE
Você terá que reiniciar seu aplicativo para recarregar novas configurações**. Logo em seguida, você começará a ver esses registros de log no logcat:
02-14 12:27:00.457 11936-12137/osom.info.dbtest I/Database:elapsedTime4Sql|/data/data/osom.info.dbtest/databases/test.db|1.000ms|UPDATE TestTable SET key=? ONDE _id=1
** Às vezes isso não será suficiente, então execute
adb shell stop
e adb shell start
. Para parar de imprimir esses logs, reinicie o dispositivo (esta propriedade não persiste entre as reinicializações) ou defina a propriedade para um nível de log mais alto, ou seja:
adb shell setprop log.tag.SQLiteTime ERROR