关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
7年前关闭。
Improve this question
我只是有一个一般性的问题。我担心我的 PHP 网站的速度,该网站即将投入生产。
我关心的是页面运行查询所需的时间长度。
在我的页面上,我有大约 14 个 HTML 表单中的过滤器。我正在使用 GET 方法从过滤器中检索所有值。当然,并非必须使用所有 14 个过滤器。用户可以只搜索一个过滤器。当然,选择的过滤器越多,查询就越大。但是查询越大,页面加载速度就越快。因此,与仅使用一个过滤器相比,用户选择更多过滤器是有益的。
然后将所有过滤器值发送到一个包含的 PHP 文件,该文件然后根据用户的过滤选择构建一个查询。
查询运行,我能够将所选数据打印到原始页面上的 HTML 表中。问题是页面渲染并最终显示数据表可能需要相当长的时间。
数据库不是太大。可能在 20K - 40K 记录之间,尽管每条记录有超过 20 列。
当我在 MySQL 中运行相同的查询时,它返回数据的速度比在页面上更快。
这就是我认为问题可能所在的地方。
表单中有过滤器。大约 5-6 个过滤器自己运行查询以填充用户的选择数据。
我相信在用户运行查询后,页面会刷新,并且必须重新运行表单中的所有过滤器查询。
如果是这种情况,我可以采取哪些步骤来解决此问题?如果有的话。我应该将所有过滤器放在一个单独的文件中并将它们包含在表单中吗?如果没有,那么请告知我可以做些什么来加快页面加载过程。
我访问了各种网站以尝试解决此问题。像这个:
http://code.tutsplus.com/tutorials/top-20-mysql-best-practices--net-7855
我正在遵循该站点建议的几乎每个步骤,但我仍然遇到页面加载延迟。
我希望我能得到一些积极的见解。
先感谢您。
最佳答案
您可以做的是,如果所有过滤器都是静态的并且在选择/更改值时不会消失或更改 View ,您可以在重新加载 View 之外设置过滤器。
目前,我正在构建一个处理 AJAX 查询重新加载的站点,并且必须处理一个非常相似的方面。我的字段设置在重新加载之外,并且加载时间非常快。
如果它们是动态的或需要根据选择的选项进行更改,那么我会将它们设置为单独的重新加载。基本上确定哪些更改与需要显示的内容。
希望这有助于并解释得很好。
关于PHP & MySQL 页面速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25288286/