【发布时间】:2018-05-22 21:53:54
【问题描述】:
我正在为客户开展一个项目,以使他们的花名册查看和条目无纸化。有些东西依赖于用户输入,但有些东西是变化的常量,是从数据库中提取的。从所述数据库中提取其信息的下拉列表之一在我的测试环境中加载非常缓慢 - 我单击它,项目实际显示需要两到三秒。
我认为这是因为下拉列表很容易包含接近 400 个项目。我想知道的是是否有任何方法可以优化它以加快加载速度。在中途甚至四分之一处切断并制作更多下拉菜单超出了项目的规范,因此这样的建议必须通过客户才能继续进行。不过,如果这是唯一的解决方案,我会这样做。
提前感谢您的建议。
编辑:
- 这种疏忽让我发笑,但我对 400 项的保守估计是错误的 - 该列表包含 12,700 项。
- 对于所有假设 SQL 查询可能很慢的人 - 我正在从一个表执行简单的 SELECT DISTINCT,只有一个 WHERE 条件。
【问题讨论】:
-
如果您想获得有意义的帮助,您需要提供更多详细信息。但首先,测量实际花费的时间。400 并不是一个巨大的数字,所以应该有一些方法可以加快速度。
-
正如@xs0 所说,请输入一些代码来演示您如何填充下拉列表。基于这个问题,我假设您在打开下拉菜单时向服务器发出请求,这需要时间。最好预取结果并将其存储在 DOM 中
-
此外,虽然 400 个项目听起来很多,但就浏览器下拉菜单的性能而言,真的 几乎不重要。看看这个小提琴的基本演示:jsfiddle.net/zv03dkym