LoginSignup
3
2

More than 5 years have passed since last update.

PupSQLiteでSQLの実行時間の確認方法

Last updated at Posted at 2014-02-25

コンソール版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;
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2