我们使用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