真的是SQL效能問題嗎?

日期: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:從零開始的軟體開發生活

請大家繼續支持 ^_^