我們使用Joomla 3.6.5的最新版本號和J目錄MySQL的加載速度慢 - Pagenation
http://www.cmsjunkie.com/j-businessdirectory
最新版本,我們有一點與開發商存在分歧。
我們的目錄在過去一年中有所增長,現在頁面加載非常差,我們每個類別有超過500多個條目。 J目錄說它是因爲我們有大量的條目,
請參閱下面的URL加載速度放緩,我們有大約1100條目與此類別相關聯。
http://www.shoppingonline.ie/category/clothes-shops-womens
但這應該沒有什麼差別嗎?有網站1000網上有巨大的DB的和顯示大量結果
的看到下方的分類廣告網站,顯示了「汽車」在愛爾蘭66914個廣告的例子
donedeal.ie/all?words =汽車& area = Ireland
所以我對開發者說的是,我們不應該只檢索所有結果只顯示在網頁上顯示的結果 - 目前20,然後網頁開始踢,並加載下一個20結果等等
你能證實這是我的方式t應該正確嗎?當然,上面的例子並不檢索66,914,因爲如果它的性能非常差,並且它現在加載非常快。
親切的問候
斯科特
請參考下面從開發響應。
你一定誤解了整個情況。 我們不會一次檢索所有結果。正如你所看到的,一次只能檢索20個項目。 問題是,mysql必須通過匹配搜索條件的所有1000個結果才能按順序標準排序,然後在請求的頁面窗口中獲得20個結果。 這是造成性能損失。這不是一個錯誤。這是一個Mysql性能限制。 正如您所看到的,搜索性能良好,結果較少,並且證明沒有錯誤或編碼問題。 我希望我們現在已經澄清了這種情況。 您所指的網站必須使用更高效的其他數據庫引擎(付費數據庫引擎)或像google這樣的索引。
它不應該加載所有記錄,然後丟棄不在當前頁面上的記錄。但是如果你能找到它正在運行的SQL語句,並找出背景中發生了什麼,它會更有用。 –
如果合理編寫,1000個結果(儘管遠非理想)對MySQL來說很小。然而,在檢索數據到php之前,應該在數據庫上完成對搜索條件和排序的檢查。通常這涉及動態生成SQL。如果選擇的框架不能支持這個,那麼它可能是這個工作的錯誤工具。 – Kickstart