2009年10月5日月曜日

CoreData で発行されている SQL をデバッグ出力する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Mac Dev Center: Core Data Programming Guide: Core Data Performance

この中の "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 件のコメント:

コメントを投稿