クエリデバッグする方法
Zend Frameworkでデータベースのクエリの実行時間などを調べるには、Zend_DBのgetProfilerメソッドを使います。
これにより実行されたSQL文や所要時間を知ることができます。
プロファイラの呼び方
$db->getProfiler()
全体の所要時間
$db->getProfiler()->getTotalElapsedSecs()
クエリ型を絞り込む
SELECTのみ
$db->getProfiler()->getQueryProfiles(Zend_Db_Profiler::SELECT)
INSERTのみ
$db->getProfiler()->getQueryProfiles(Zend_Db_Profiler::INSERT)
UPDATEのみ
$db->getProfiler()->getQueryProfiles(Zend_Db_Profiler::UPDATE)
DELETEのみ
$db->getProfiler()->getQueryProfiles(Zend_Db_Profiler::DELETE)
INSERTとUPDATEのみ
$db->getProfiler()->getQueryProfiles(Zend_Db_Profiler::UPDATE | Zend_Db_Profiler::UPDATE)
各クエリの情報を得る
$db->getProfiler()->getQueryProfiles()
とすると配列で各クエリの情報が返ります。
例
foreach ($db->getProfiler()->getQueryProfiles() as $query) { // 実行クエリ echo $query->getQuery(); // クエリパラメタ print_r($query->getQueryParams()); // クエリ所要時間 echo $query->getElapsedSecs(); }
関連記事
- Live Commerceとは
- CakePHP、Symfony、Zend Frameworkの比較
- Zend_Authでは重複するID・パスワードに注意
- リダイレクトとフォワード
- 'Zend_Db_Statement_Exception' with message 'SQLSTATE[HY000]: General error' とは
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
- Zend_Authによる認証 (ログインページを作る)
- Zend Frameworkのデータベース接続
- Smartyを利用する方法
- ビューヘルパー
- 環境を分ける方法
- ビュー(テンプレート)の基本
- アクションコントローラの基本
- アクションコントローラとビューの関係
- コマンドで雛形を作る CLIツール
- 推奨ディレクトリ構成
- 環境設定とインストール
- 最小版のファイル一覧
- ファイル一覧
- 基本的な特徴
スポンサーリンク