計算乙個頁面中的資料庫查詢次數和用時

2022-03-12 02:40:28 字數 1084 閱讀 6491

很多部落格軟體都有這麼乙個功能,比如「生成本次頁面一共花費了xx毫秒,進行了xx次資料庫查詢」等等。那麼這個功能是如何實現的呢,下面我大概說下思路。

1. 在類的建構函式中宣告全域性變數

定義乙個全域性變數 $queries 用來統計頁面生成經過的資料庫查詢次數。

1

function

__construct()

2

2. 修改資料庫類中封裝好的的 query()

你應該有用到資料庫類吧,找到它封裝 query() 的方法,比如下面的:

1

//執行sql語句

2public

function query($query)3

那麼每執行一次 query,全域性變數 queries 就會自增1。

3. 在方法體中這樣寫:

1

public

function content($id = 0)

2

就這麼簡單就能實現那個功能了。

4. 附帶計算php指令碼執行的函式

之前寫的博文介紹了下計算php指令碼執行時間的函式,這裡再貼一下吧。

1

//計時函式

2public

function runtime($mode = 0)

8$t1 = microtime

(); 9//

list($m0,$s0) = split(" ",$t);

10list($m0,$s0) = explode(" ",$t

);11

//list($m1,$s1) = split(" ",$t1);

12list($m1,$s1) = explode(" ",$t1

);13

return

sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000);

14 }

使用如下:

1

public

function content($id = 0)

2

關於資料庫查詢的乙個問題

今天碰到了乙個資料庫關聯查詢的問題,問題上是這樣的 客戶需要將每個部門下所有的員工學習課程數按降序排列,本來應該是乙個很簡單的問題,但是問題出現了,就是部門是分多級別的,而且學習課程統計裡關聯的只有員工的id,於是我先把對應的幾個大部門從部門表裡抽出來,然後學習課程裡的員工在部門表裡迴圈查詢,結果是...

乙個資料庫查詢的問題

有乙個表user book記錄了一名使用者擁有的書籍的資訊,表的資料如下 key userid bookid 1 1 2 2 1 3 3 1 4 4 2 1 5 2 3 這表明這名使用者1擁有2,3,4三本書,使用者2擁有1,3兩本書,以此類推。現在要用1個sql語句得到下面問題的結果 給出任意個b...

關於資料庫查詢乙個表中的資料插入到另乙個表中

insert into 目標表名 select from 原始表 例如 insert into dj nsrxx select from hx dj.dj nsrxx sj db zg 注 dj nsrxx為目標表名 hx dj.dj nsrxx sj db zg為原始表 hx dj.dj nsrx...