コンソール版SQLiteでは.timer onのオプションにより実行時間が計測できますが、PupSQLiteでは実行結果のテーブルしか表示できないようでした。とりあえず、ストップウォッチを使って目視で計測することもできますが、計測したいSQLの前後に現在時刻を表示するSQLを埋め込む方法を以下に示します。
実行時間計測結果をためるテーブルtimerを作成。
sql
CREATE TABLE timer (log_time text);
計測したいSQLの前後に現在の時刻をテーブルtimerに格納する。(トランザクション開始と確定のSQLでくくっておく。)
BEGIN;
INSERT INTO timer SELECT STRFTIME("%Y-%m-%d %H:%M:%f START", "now", "localtime");
SELECT recipe_all."recipeID", recipe_all."recipeTitle", recipe_material."materialName", recipe_material.volume FROM recipe_all INNER JOIN recipe_material USING ("recipeID") where "Mcategory" = 'パスタ';
INSERT INTO timer SELECT STRFTIME("%Y-%m-%d %H:%M:%f END", "now", "localtime");
COMMIT;
- 記録した実行時間計測結果を確認。(最後に実行したSQLのトランザクション開始と確定時刻を確認するため、最新の2件のみ表示。)
SELECT * FROM timer ORDER BY log_time DESC LIMIT 2;