2012-06-06 11 views
16

SQLiteでクエリログを有効にする組み込み関数はありますか?SQLite 3でクエリログを有効にする

私はTrace APIに精通していますが、あらかじめ定義された機能があるかどうかを知りたいと思います。

+0

[SQLiteのSQLクエリーロギング]の可能な複製?(https://stackoverflow.com/questions/1607368/sql-query-logging-for-sqlite) – user4157124

答えて

8

興味深い質問です。私は

ひとつ...ここに興味をそそられてきて、私はこれを尋ねたことはありません、なぜ自分が疑問に思った:

どうやらいくつかのラッパー・ライブラリは、この組み込みのようなものを持っています。しかし、ラッパーライブラリを見つけるためには、まずターゲット言語を特定する必要があります。 Perl DBI? Python? C++?

2:

私は(何らかの方法で)「生産グレード」ソリューションのために次のことをお勧めしませだろうが、あなたは主に実験および/またはデバッグしている場合、その後、あなたが調べてみてください各トランザクションの終了直前のロールバック・ジャーナル。 See here about the rollback journal: http://www.sqlite.org/tempfiles.html「各トランザクションの終了」を検出する方法は、デバッガのコードやブレークポイントに依存します。

もう一度強調しなければなりません:私が上記で言及したものは合計ハックアラウンドであり、それを言及したとしても汚いと感じます。

3:

あなたは(非常に活発と優雅)sqlite mailing listに求めることができるが、彼らはおそらくsqlite3_traceを再び強調ます。

...他のランダムなもの:やや上

(やっと?)あなたは「./sqlite3' コマンドプロンプトセッションを開始する際に関連するノート、次のように入力します。

.explain 

を使用すると、プロンプトで実行された各クエリに対して面白く有益な冗長出力が可能になります。

詳細私はちょうど見つかり:

One of the flags that can be passed to 'sqlite3_config()' is SQLITE_CONFIG_LOG.を。これは、コールバックを設定し、定期的にsqliteのライブラリーからステータス情報を受信する(トレースAPIに加えて)別の方法です。私はそれが主にエラーログメッセージのためだと思います。

+7

おそらく、この質問の回答を「いいえ"、OPの質問を見てここで少し誤解を招くかもしれない – Daan

関連する問題