我正在私人托兒中心爲一小羣父母建立一個網站。該網站所需的功能之一是有一個日曆,您可以選擇您可以負責清理地區的日期。現在,我已經制定了工作日曆。我在網上發現了一個簡單的腳本,我修改了適合我們用途的腳本。從技術上講,它運行良好,但我開始懷疑我是否應該改變從數據庫中提取信息的方式。頁面加載時SQL調用太多?
日曆每月呈現,並使用for-loop繪製爲表格。這意味着所述for循環每次頁面加載時運行28-31次,具體取決於月份。爲了介紹每天負責清理的人員,我添加了一個調用MySQL數據庫的地方,每個成員的清理日期都存儲在該數據庫中。僞代碼如下所示,簡化:
Draw table month
for day=start_of_month to day=end_ofmonth
type day
select member from cleaning_schedule where picked_day=day
type member
這意味着頁面的每個重載做至少28 SELECT調用數據庫,對我來說顯得既效率低下,人們可能容易受到一個DDOS-攻擊。是否有更有效的方式獲得相同的結果?那裏有更復雜的預訂日曆,他們如何處理它?
但是,如果緩存是爲了說,六月,然後我改變到七月,它必須做整個shebang,但我得到你的漂移。 – Sandokan
在查詢緩存中可能有多個(實際上:很多)查詢 - 請參閱MySQL文檔..哦,現在它們已經停止了! –
依靠MySQL來緩存你的數據通常不是一個好的做法。 –