この中の "Analyzing Fetch Behavior with SQLite" に、コマンドライン引数に次を指定すると CoreDataから SQLite へ発行される SQL をデバッグ出力できるとの記述があった。
-com.apple.CoreData.SQLDebug 1
やってみよう。
実行可能ファイルの設定を開く。

「起動時に渡される引数」に上記の引数を追加する。

実行する。以下、例。
2009-10-05 06:50:48.557 OneLiner[1202:207] CoreData: sql: SELECT COUNT(*) FROM ZMEMO t0 2009-10-05 06:50:48.558 OneLiner[1202:207] CoreData: annotation: total count request execution time: 0.0022s for count of 16. 2009-10-05 06:50:48.560 OneLiner[1202:207] CoreData: sql: SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZTITLE, t0.ZPHOTO FROM ZMEMO t0 ORDER BY t0.ZTITLE 2009-10-05 06:50:48.561 OneLiner[1202:207] CoreData: annotation: sql connection fetch time: 0.0010s 2009-10-05 06:50:48.562 OneLiner[1202:207] CoreData: annotation: total fetch execution time: 0.0023s for 16 rows. 2009-10-05 06:50:48.564 OneLiner[1202:207] CoreData: sql: SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZTITLE, t0.ZPHOTO FROM ZMEMO t0 ORDER BY t0.ZTITLE : :
これはいいな。
デバッグだけでなくパフォーマンスチューニングするのにこれは役立つ。
0 件のコメント:
コメントを投稿