0

我有一个客户端需要从 Web 服务器上的 mysqli 数据库中的各种表中检索信息。我目前在客户端上设置了一个 AJAX 查询,该查询将 AJAX 请求发布到查询数据库并返回 JSON 对象的 php 页面。然后客户端遍历生成的对象并将必要的数据插入到本地数据库中的类似表中。但是,此查询仅包含来自一个表的信息。我将需要在客户端数据库中填充多个表。最终,在填充这些数据库时,可能会同时向 Web 服务器发出大量请求。我想出的可能的解决方案如下:

  1. 在客户端上设计多个 ajax 查询,每个发布到同一个 php 页面,根据收到的帖子类型使用单独的处理程序查询,以便返回不同的 JSON 对象供客户端迭代并插入本地数据库(许多 AJAX -> 1 PHP)

  2. 设计许多 AJAX 查询,每个查询都发布到不同的 php 页面,并为每个 AJAX/PHP 查询生成一个 JSON,以减少任何单个 PHP 页面上的流量。(许多 AJAX -> 许多 PHP)

  3. 设计 1 个大型 AJAX 查询,该查询向 PHP 页面发出单个请求,并从数据库返回所有必要的信息,并让客户端将所需的不同部分插入本地数据库。(1 个 AJAX -> 1 个 PHP)

这些想法中的任何一个似乎都比其他想法更好吗?我看到了所有这些缺陷,所以我想知道是否已经有一个理想的解决方案可以最大限度地减少在客户端上完成的工作量以及减少某人可能知道的服务器上的流量/维护。任何帮助/批评表示赞赏。

4

1 回答 1

0

选项 1 和 3 并不相互排斥:您的服务器端代码可以返回小(或部分,取决于您如何看待)数据集,如选项 1 中一样,同时使用完整数据回复不同类型的请求放。客户端代码根据它所拥有的有关正在执行的操作的信息来决定要进行什么查询。例如,如果请求的操作是“更新一条记录”,它可能会使用一个查询,如果操作是“更新所有记录”,它可能会使用另一个查询。

从广义上讲,这就是我会做的,所以我建议让自己灵活地选择适当的查询类型。

于 2013-05-07T17:53:21.497 回答