日期:2017/01/04, 天氣:晴朗、微熱 ...
早上開會時,Jenny姐詢問一個使用 iphone 的 safari 操作系統時,
會出現 Timeout 的問題,而使用 chrome 卻不會有這樣子的問題。
Jenny姐有查到「jQuery .ajax() does not work in Safari when it takes seconds to get returned data」,
safari 如果超過 10 秒後,就會出現 timeout 。
而透過 fiddler 去錄,那支程式執行真的還蠻久的,大約 10 幾秒吧。
下午開完會後就去找 Jenny 姐討論,而 Jenny 姐已將程式 Focus 在一支 SQL 的 SP 之中。
裡面主要就慢在用很多 Keyword 去使用者填入的內容裡面,利用 CHARINDEX 看看有沒有在裡面,
有的話就將 Keyword 相對應的資料取出來,測試的案例資料大約有 3 千多筆吧。
同事們想說,如果是 CHARINDEX 那部份慢的話,是否改用 全文檢索 是否可以解掉這問題呢?
哦~~~ 感覺應該會吧 ^_^
嗯 ~~~ 還是實際了解一下狀況好了。
於是我使用 SSMS 中執行 SQL 時,發現 ~~~
第一筆資料一下子就出來了,
只是要讓全部的資料(約3千多筆)出來約要15秒左右。
So... 資料查詢並不慢哦!
慢的是將資料取出來呈現的時間。
於是我在結果的 Query 中加入了 TOP 100 ,一下子就跑完了。
我想,如果我是使用者的話,我會一次看這3千多筆的資料嗎? 還是跟本就不會看呢?
Google Search 的結果,你會看到第幾頁呢 ?
所以像這種如果資料會很多的,我應該要使用切頁來呈現,一次只取10筆,下一頁再取下10筆 ...
另外,也可以思考一下,可以再縮小範圍嗎?
Keyword 是否有什麼權重嗎? 或許可以提供給使用者需要的資料。
當發生問題時,有時會急於想要去修正它。
這時別忘了,停下腳步,深呼吸,冷靜地來看待它。
大家共勉 ~~~
Others
Solution for Safari timeout issue
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^