Sqlite per Android ha un supporto integrato per questo.
Da qui:
/**
* 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);
Pertanto, per abilitare la traccia del tempo di esecuzione, eseguire:
adb shell setprop log.tag.SQLiteTime VERBOSE
Dovrai riavviare l'applicazione per ricaricare le nuove impostazioni**. Subito dopo inizierai a vedere questi record di registro in 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=? DOVE _id=1
** A volte questo non sarà sufficiente, quindi esegui adb shell stop
e adb shell start
.
Per interrompere la stampa di questi registri, riavviare il dispositivo (questa proprietà non viene mantenuta tra i riavvii) o impostare la proprietà su un livello di registro più alto, ad esempio:
adb shell setprop log.tag.SQLiteTime ERROR