<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 查看頁面Trace 通過查看頁面Trace信息可以看到當前請求所有執行的SQL語句,例如: ![](https://box.kancloud.cn/f7ad9ec062a2b06e9fe6bcd740f449a8_1004x208.png) ## 查看SQL日志 如果開啟了數據庫的調試模式的話,可以在日志文件(或者設置的日志輸出類型)中看到詳細的SQL執行記錄(甚至包含性能分析)。 >[danger] 通常我們建議設置把SQL日志級別寫入到單獨的日志文件中,具體可以參考日志處理部分。 下面是一個典型的SQL日志: ~~~ [ SQL ] SHOW COLUMNS FROM `think_user` [ RunTime:0.001339s ] [ SQL ] SELECT * FROM `think_user` LIMIT 1 [ RunTime:0.000539s ] ~~~ 如果需要對SQL性能進行分析的話,可以在數據庫配置文件中開啟下面參數: ~~~ // 是否需要進行SQL性能分析 'sql_explain' => false, ~~~ 開啟后,日志會記錄類似下面的信息 ~~~ [ SQL ] SHOW COLUMNS FROM `think_user` [ RunTime:0.001339s ] [ EXPLAIN : array ( 'id' => '1', 'select_type' => 'SIMPLE', 'table' => 'think_user', 'partitions' => NULL, 'type' => 'ALL', 'possible_keys' => NULL, 'key' => NULL, 'key_len' => NULL, 'ref' => NULL, 'rows' => '82', 'filtered' => '100.00', 'extra' => NULL, ) ] [ SQL ] SELECT * FROM `think_user` LIMIT 1 [ RunTime:0.000539s ] ~~~ ## 監聽SQL 如果開啟數據庫的調試模式的話,你可以對數據庫執行的任何SQL操作進行監聽,使用如下方法: ~~~ Db::listen(function($sql,$time,$explain){ // 記錄SQL echo $sql. ' ['.$time.'s]'; // 查看性能分析結果 dump($explain); }); ~~~ >[danger] 一旦使用了SQL偵聽,默認就不會記錄SQL日志了,需要自己接管操作。 ## 調試執行的SQL語句 在模型操作中 ,為了更好的查明錯誤,經常需要查看下最近使用的SQL語句,我們可以用`getLastsql`方法來輸出上次執行的sql語句。例如: ~~~ User::get(1); echo User::getLastSql(); ~~~ 輸出結果是 `SELECT * FROM 'think_user' WHERE 'id' = 1` >[danger] `getLastSql`方法只能獲取最后執行的`SQL`記錄。 也可以使用`fetchSql`方法直接返回當前的查詢SQL而不執行,例如: ~~~ echo User::fetchSql()->find(1); ~~~ 輸出的結果是一樣的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看