加载速度下降到程序中的几个点。
首先,您以给定的顺序(两次)从数据库中提取 5,000 条记录。
然后,您将遍历这些项目以将它们转换为 HTML 输出。
然后您将页面中的所有 10,000 个项目发送到浏览器。
最后,浏览器需要在页面上呈现这些项目。
您可以通过减少项目数量来加速所有这些。例如,不是提供世界上所有城镇的列表,而是提供一个文本框,用户可以输入城镇以减小列表的大小。然后,您可以通过获取较小的城镇匹配列表供他们选择来改善体验(甚至将其作为 AJAX 请求实现,这样他们就不需要提交页面来获取列表)。