我正在开发一个ajax应用程序,该应用程序将在html表中显示大约一百万条记录。 Web服务从服务器返回记录,我通过隐藏数据和标签来构建登录字符串,然后使用innerHTML(而不是使用DOM以获得更好的性能)来放置此字符串。为了进行测试,我已经在数据库中放置了6000个Recod(存储过程执行完成大约需要4秒钟)。在本地系统(同一台计算机上的数据库和应用程序)上进行测试时,大约需要5分钟才能在页面中显示记录。在Web服务器上运行后,它甚至没有响应更多时间。它看起来性能很差。我将记录放入CSV文件中,其重量小于2 MB。我不明白为什么用字符串隐喻来构建html表并将字符串放入innerHTML会花费这么大的时间(如果是问题的话)。要求在网页上显示大约一百万条记录,但仅6000条记录的性能令人失望。我不知道如何提高性能。请指导并帮助我。 最佳答案 您要在单个页面上显示一百万条记录吗?不管您如何优化服务器代码,这都是很多要解析/渲染的html,尤其是在表中时。即使使用.innerHTML也不会随时“保存”您。渲染引擎仍然需要解析/样式/渲染/放置数以百万计的表行/单元格,并且您将不得不等待它的工作。如果您绝对必须在单个页面上显示所有这些记录,请尝试将其分解为可管理的块。一次让AJAX调用返回(说)100条记录,将它们放入表中,然后再获取100条记录,依此类推...至少这样,您将看到页面的内容在增长,而不必坐下来然后等待1,000,000个表格行一次显示。更好的选择是进行分页,一次只显示100条记录,而您显示的标准导航带有>按钮以交换数据的“页面”。
10-02 02:51
查看更多