【发布时间】:2020-01-29 07:19:52
【问题描述】:
我通过访问 postgres 数据库的 php 脚本从远程 aws ec2 服务器加载了一个巨大的表。 目前,表中有 2000 行 20 列,在所有查询优化后加载大约需要 2 分钟,并使用多维 php 数组通过单个查询来存储所有成员的数据,而不是时不时地查询数据库。 2000 个用户。
我能够将加载时间从 5 分钟减少到 2 分钟。
我的问题是,UI 是否也需要优化?传统的表格标签过时了吗?哪种方式最好?
假设我已准备好所有数据。如果我需要将它们立即大量显示出来,最好的方法是什么?
我不太熟悉 HTML 或 CSS 甚至 UI 测试。
【问题讨论】:
-
我的问题是,UI 是否也需要优化? 这取决于您是否使用了多个嵌套循环,它可能会导致大量 cpu 负载。 * 传统的表格标签过时了吗?*,没有它的still within HTML5,没问题。 加载大约需要 2 分钟是整个页面加载还是查询本身?您可能会遇到未优化的 js/css,例如在客户端编译较少。
-
也许你可以尝试批量查询你的结果。这可能会有所帮助:stackoverflow.com/questions/49676777/…
-
@BagusTesa 我在一个循环中使用 printf,该循环迭代 2000 次,一次用于打印表格的每一行。我已经将 sql 查询结果中的所有数据存储在 php 多维数组中。当我加载 php 页面时,最初为 5 秒,将没有输出。然后,它会突然开始从顶部填充表格。如果在加载时向下滚动,您可以看到此时它已加载了多少行。因此,实际上是 UI 占据了加载时间的主要部分。 Gosi,我已经在 PHP 数组中查询和存储我的结果。只需 5 秒
-
当我加载 php 页面时,最初是 5 秒,没有输出。然后,它会突然开始从顶部填充表格。如果您在加载时向下滚动,您是否有一些 ajax 进行表格渲染?你能检查一下浏览器控制台的网络标签来确定吗?
-
我不使用任何 ajax。纯PHP。没有 API,什么都没有。我将 postgreSQL 查询的所有输出存储到单独的二维数组中,其中的键对应于用户及其属性。这些值将是 SQL 查询和 PHP 脚本中的单个结果和计算。完成所有这些之后,我才开始 foreach 循环以逐一打印行及其对应用户 ID 的值。
标签: php html css sql html-table