HTML下拉菜单加载速度很慢

时间:2017-12-08 16:01:23

标签: php html mysql

我正在为一个客户制作一个项目,让他们的名册观看和无纸化。有些东西依赖于用户输入,但其他东西是不同的常量,并从数据库中提取。其中一个从所述数据库中提取信息的下拉列表在我的测试环境中加载速度非常慢 - 我点击它,实际显示项目需要两到三秒钟。

我认为这是因为下拉列表很容易包含近400项。我想知道的是,如果有任何方法我可以优化它以加快加载速度。在中途或甚至四分之一的时间切断并进行更多的下拉菜单超出了项目规范的范围,因此这样的建议必须通过客户端才能继续进行。如果这是唯一的解决方案,我会这样做。

提前感谢您的建议。

编辑:

  1. 这种让我开怀大笑的疏忽,但我保守估计400件物品的错误 - 该清单包含12,700件物品。
  2. 对于所有认为SQL查询可能很慢的人 - 我正在从一个表中执行一个简单的SELECT DISTINCT,只有一个WHERE条件。

2 个答案:

答案 0 :(得分:1)

在能够很好地回答这个问题之前,你需要做更多的测试和调试,以找出究竟是什么减慢了问题。

  • 这只是你的机器运行缓慢的问题吗? 在真实的网络服务器上测试,看看情况如何。

  • 数据库中的选择是否缓慢?如果是这样,这是一个问题, 从mysql中选择应该非常快。

  • php慢吗?如果是这样,您可以使用像PhpStorm这样的IDE来查看 究竟哪些功能需要多长时间才能运行。

  • 客户端浏览器中的呈现速度慢吗?如果是这样,我们可以看看 优化javascript / html。

如上面的评论中所述,我们还需要知道何时从数据库获取数据(在页面加载之前,或者ajax)。因此,在您真正了解如何以加快速度之前,您需要了解 所花费的时间。从那里开始。还要确保检查您的javascript和html是否有任何错误。将整个页面的html复制/粘贴到此处,并修复所有错误和警告:http://validator.w3.org/#validate_by_input对于javascript,请检查调试器控制台。

答案 1 :(得分:0)

您可以使用无限滚动来分解返回的数据量。看看这个答案:

infinite scroll select

但这可能不是潜在的问题。我会检查您的查询的性能,以确保问题不在其中。