2013-05-31 30 views
0

我可以選擇執行以下操作,使用限制值1運行一次查詢1000次,或運行限制爲1000次的同一查詢一次。運行一次查詢多次使用下限或單次使用大限制,服務器負載不同?

兩者在性能上有顯着差異嗎?

某些上下文: 查詢的結果用於需要花費幾秒鐘才能完成的較大XML操作,所以我當前所做的是使用帶有AJAX的Javascript循環來獲取一個元素時間並在查詢結束時顯示它們並完成其工作,從而顯示更快的網站,然後確定它的真實性。 如果我做了一個大型查詢,它可能需要一分鐘才能加載頁面(如果不使用JavaScript,但只是純PHP)

我只是想看看「更快」的頁面是否值得潛在的額外服務器負載或如果它更好只是讓用戶等待一段時間(我會感覺不好的東西)

+0

呃......一個查詢一分鐘與LIMIT 1000,但微秒與LIMIT 1相同的查詢? – raina77ow

+0

答案可能會介於兩者之間。有可能在一個請求中完成所有操作,並通過間歇性刷新來更新頁面 – Orangepill

+0

@ raina77ow,該頁面與添加的XML操作一起使用。 (一個實時的RRS提要)它從中收集大量數據,如果需要一次檢索1000個數據,則可能需要一段時間才能顯示該頁面。 – Tinman

回答

0

這聽起來像一些Ux研究可以讓你做出這個決定。有一些偉大的文章,人們已經研究了網頁性能如何影響他們的網站或應用程序。這些研究如何適用於您將取決於您的經驗的性質。

通過快速搜索,我發現了一些突出的。祝您好運,爲您做出最明智的決定。

+0

良好的閱讀所有這些,我的網站上的頁面加載時間非常快(0.0028秒)時加載JavaScript的東西時,其準備就緒(頁面加載,但內容進來時) 當一次加載所有內容根據外部XML可能需要10-20秒。 我猜測能夠或多或少立即顯示內容,以便讓用戶可以關注某些內容,而加載更多內容是最佳途徑。 – Tinman

0

您可以考慮的另一種方法 - 在Web服務器上緩存。

我不知道這是否可能在PHP中,但我們可以在.Net中做到這一點。您可以將數據緩存在您的Web服務器上一段時間。然後,您可以在從數據庫中刷新的同時等待緩存的數據 - 此刷新可以在基於計時器的回調函數中執行。這樣,您將始終擁有x分鐘前的最新大型數據集。

希望這會有所幫助。