1.Cache:X
翻了幾本書都有講到Cache,對一個頁面中放入有50筆的datagrid,每筆中都有的dropdownlist的資料嘗試進行了快取,雖然減緩了讀取資料庫的頻率,但很不理想:
a.當資料有新增或者刪除時頁面就看不到了
b.如果對快取設定了期限比如2分鍾,根本不夠用
c.如果有兩套同樣的系統,只資料庫名稱不同來同時做時資料就會發生混亂
今天才測試到這最後一點,於是將全部快取全部拿掉
2.執行時間在17-35秒
客戶近段一直在抱怨執行速度慢,於時放了執行的時間上去來進行觀察;今天驚醒中拿舊了快取部分,可執行速度一樣沒有明顯的改觀,於時納悶地請教一位熱心網友,他對我所述的執行著實吃驚,以MYSQL的存取速度幾十秒能讀寫幾十萬記錄呢,這個定論讓我也忐忑不安起來,嘗試將代碼逐行遮罩來執行,終於才發現前些日子犯下的一個巨大的錯誤竟然沒有悔改:對於同一個表的查詢動用了包含IN的子查詢,難怪本是可以執行的,我卻分兩段來執行,迅速修正後執行時間終於跳在了0秒
SQL語句,你的優化了嗎?